[英]How to pass a variable to a function (inside Vue2 computed)?
我嘗試使用vue2.js
代碼: http : //jsbin.com/futuqoniso/1/edit?html,js
控制台: http : //output.jsbin.com/futuqoniso/1
但是變量“ sort”始終是不確定的。 如何正確傳遞它的功能?
computed: {
sortedArray: function() {
function compare(a, b, sort) {
console.log(sort);
if (a.name < b.name)
return -1;
if (a.name > b.name)
return 1;
return 0;
}
return this.arrays.sort(compare);
}
}
我嘗試了“ this.sort”和其他變體...
您可以通過指定關鍵字this
來訪問任何數據屬性,例如:
console.log(this.sort)
這應該是:
<a href="#" @click="sort = 'name'">name</a>
<a href="#" @click="sort = 'sex'">sex</a>
不:
<a href="#" @click="sort = name">name</a>
<a href="#" @click="sort = sex">sex</a>
像這樣:
var string = new Vue({
el: '#string',
data: {
sort: 'name',
arrays: [{
name: 'sonya',
sex: 'woman'
}, {
name: 'sindell',
sex: 'woman'
}, {
name: 'kano',
sex: 'man'
}, {
name: 'subzero',
sex: 'man'
}]
},
computed: {
sortedArray: function() {
var sort = this.sort; // define variable from this
function compare(a, b) {
console.log(sort);
if (a.name < b.name)
return -1;
if (a.name > b.name)
return 1;
return 0;
}
return this.arrays.sort(compare);
}
}
})
同時更新模板:
<p>{{sort}}
Sort by:
<a href="#" @click="sort = 'name'">name</a>
<a href="#" @click="sort = 'sex'">sex</a>
</p>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.