vue.js - “这”未定义
问题描述
我使用 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 函数中始终是未定义的。问题是什么?我该如何解决?提前感谢。
解决方案
我只是猜测,但...
1 您使用字面意思This
而不是this
¯\_(ツ)_/¯
这很容易解决,只需使用“this”而不是“This”
2 您可能将函数定义为
methods:{
myfilter: function() {
console.log(this.whyNoWork);
}
}
这不会使用正确的范围,而是使用
methods:{
myfilter: function() {
console.log(this.isWorking);
}.bind(this)
}
或者更好
methods:{
myfilter() {
console.log(this.isWorking);
}
}
3 您可能应该将模板定义为myfilter
而不是myfilter()
,除非您想将某些内容传递给它
<multiselect v-on:select="myfilter" v-model="cityF"
:options="cities" placeholder="City" label="name" track-by="name">
</multiselect>
更多的代码通常意味着更多的帮助,否则我们只是猜测。
推荐阅读
- python - 按列分组,但返回数据框作为初始数据框 - 熊猫
- java - 具有多个数组返回的字符串拆分
- arrays - 如果两个数组的内容彼此不同,为什么这两个数组之间的比较不起作用?
- c# - ASP.NET - 无法取消保护 message.State 只有一个回调
- javascript - 如何使 div 在反应中自动滚动(钩子)
- python-3.x - 重新格式化数据帧以显示分组后的序列号和时间差
- sql - 在逗号分隔列表的末尾添加“和”
- blazor - Blazor + 条件 HTML 注释
- css - 如何添加/删除字体真棒图标
- haskell - 有没有办法在 Haskell QuickCheck 中生成用于测试的值?