本篇文章给大家带来的内容是关于vue列表排序实现中的this问题的详细介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
最近在看vue框架的知识,然后其中有个例子中的this的写法让我很疑惑
Page Title
search:
-
{{index}} --- {{p.name}} --- {{p.age}}
在这堆代码中的filterPerson函数的第一行进行了this的赋值,创建了一个对象赋给了一个常量
在一些教程中表示这是取出要用的数据
其实算是简化操作,因为后面我将其注释掉,然后在每个变量前面加上this依旧可以跑起来
computed: {
filterPersons() {
// 取出相关的数据
// const {
// searchName,
// persons,
// orderType
// } = this;
let flag;
flag = this.persons.filter(p => p.name.indexOf(this.searchName) !== -1);
if (this.orderType !== 0) {
flag.sort(function (p1, p2) {
if (this.orderType === 2) {
return p2.age - p1.age;
} else {
return p1.age - p2.age;
}
});
}
return flag;
}
}所以,在这个地方是将要用的数据事先放在了this中, 主要是函数中本身没有这几个变量,所以直接在函数内部使用是会报错的,因此需要去外面的vue实例中获取。如果不这么做,要多写很多个this。
主要更新介绍: 完美整合Discuz!论坛,实现一站式登陆、退出、注册; 同步所有会员资料; 新增购物车功能,商品购买更加方便、快捷; 新增部分快捷菜单,网站访问更加方便; 限制首页商品、店铺标题显示长度; 修正会员后台管理不能更改密码的错误; 完善商品显示页面所有功能链接; 修正后台标签管理部分错误; 修正前台学校列表不按后台顺序显示的错误; 修正搜索功能中学校名称过长导致显示紊乱的现象; 修正
立即学习“前端免费学习笔记(深入)”;









