vue 中的this问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 中的this问题相关的知识,希望对你有一定的参考价值。
参考技术A 在vue中当在vue中使用匿名函数的时候,会出现this指针改变的问题,出现方法或者属性数据 undefine 的问题,以下是相关的解决方法一、在 回调函数之前 重新将this赋值
例如
二、使用箭头函数
在回调函数中有时候回调函数会修改this的指向,this本来应该指的是vue这个对象,但是他的this指向的是回调,由于在回调函数改变了this指针,导致后序出现this指向的数据出现未定义的状况。
但是在箭头函数中 this 指向的永远都是vue对象,所以建议多是想用箭头函数
vue列表排序实现中的this问题
最近在看vue框架的知识,然后其中有个例子中的this
的写法让我很疑惑
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div id="demo">
search: <input type="text" v-model="searchName">
<ul>
<li v-for="(p,index) in filterPersons" :key="index">
{{index}} --- {{p.name}} --- {{p.age}}
</li>
</ul>
<button @click="setOrderType(1)">年龄升序</button>
<button @click="setOrderType(2)">年龄降序</button>
<button @click="setOrderType(0)">原本顺序</button>
</div>
<script src="../js/vue.js"></script>
<script>
var vm = new Vue({
el: ‘#demo‘,
data: {
searchName: ‘‘,
/**
* 排序种类:
* 0 - 原本顺序
* 1 - 年龄升序
* 2 - 年龄降序
*/
orderType: 0,
persons: [{
name: ‘Tom‘,
age: 18
},
{
name: ‘Jack‘,
age: 20
},
{
name: ‘Bob‘,
age: 16
},
{
name: ‘Kaka‘,
age: 25
},
{
name: ‘22‘,
age: 23
},
{
name: ‘33‘,
age: 18
},
{
name: ‘Shadow‘,
age: 21
},
{
name: ‘Good‘,
age: 18
},
{
name: ‘Lily‘,
age