vue.js - 观看 vue-tags-input 变化
问题描述
我的应用程序中有 vue-tags-input 组件:
<vue-tags-input
placeholder="np. x:10,y:10"
v-model="tag"
:tags="tags"
:validation="validation"
@tags-changed="allTags => tagsChanged(allTags)"
/>
我关注了文档,并且tags-changed
正在执行我自己的映射对象数组的函数:
tagsChanged(tags) {
this.mapsData.waypoints = tags.map(obj => { return obj.text });
console.log(this.mapsData.waypoints);
}
尽管在控制台中我可以看到包含正确的值,但我无法看到钩子this.mapsData.waypoints
中的这种变化:watch
watch: {
'mapsData': {
handler: function (val) {
console.log(val); //never console
},
deep: true
}
},
这个 console.log 从来没有真正控制台过任何东西。为什么?我需要这款手表使用此值将自定义事件发送到我的应用程序中的其他位置。我可以从tagsChanged
方法发送,但我mapsData
还包含其他值,我想从观察者发送所有内容。
解决方案
由于某种原因,Vue 无法检测到这种变化,所以我需要自己触发它:
Vue.set(object, propertyName, value)
推荐阅读
- powershell - 如何将不同的 Powershell 宏合并为一个?
- listview - ListView 在向上/向下滚动时滞后
- c# - 将异步方法的结果分配给变量
- scala - 如何有效地将 DataFrame 转换为(列名-> 列值列表)的 Map
- r - 在输出导出 R 之前测试要提取的文件
- php - Android - Kotlin:发送一个非空的 jsonObject 但接收一个空的
- html - 如何设计一个 html 5 下拉菜单
- python - 如何在 Python 2.7 中查找磁盘空间(不使用 os.statvfs)
- javascript - Javascript:从私钥生成 ECDSA 公钥
- java - 如何在一个 TWILIO 号码(多个用户使用的号码)上管理来自客户端的来电