我使用Vue-Multiselect https://vue-multiselect.js.org/#sub-getting-started来创建多选择输入,如下所示
<multiselect v-on:select="myfilter()" v-model="cityF"
:options="cities" placeholder="City" label="name" track-by="name">
</multiselect>
但这在myfilter函数中始终是未定义的。问题是什么?我该如何解决? 谢谢。
答案 0 :(得分:1)
我只是猜测,但是...
This
而不是this
¯\ _(ツ)_ /¯这很容易解决,只需使用“ this”而不是“ This”
methods:{
myfilter: function() {
console.log(this.whyNoWork);
}
}
这将不会使用正确的范围,而是使用
methods:{
myfilter: function() {
console.log(this.isWorking);
}.bind(this)
}
或更好
methods:{
myfilter() {
console.log(this.isWorking);
}
}
myfilter
而不是myfilter()
,除非您想向模板传递一些东西<multiselect v-on:select="myfilter" v-model="cityF"
:options="cities" placeholder="City" label="name" track-by="name">
</multiselect>
更多的代码通常意味着更多的帮助,否则我们只是在猜测。