vue2中watch能不能观察外部属性?
我用的vue2.0,写的一个组件watch有点疑问请教一下各位大神。
我在data里面声明了一个变量isVRMode:
然后我页面上引入了一个库(Cesium)的三维场景,上面自带了一个按钮vrButton,它有一个属性vrBotton.viewModel.isVRMode。
问题来了,我有没有办法观察vrBotton.viewModel.isVRMode这个属性的变化呢?或者是和我的data中的isVRMode关联起来,然后观察呢?
由于vrBotton.viewModel.isVRMode的值改变是点那个按钮自动触发的,不是我控制的,我搞了好久了,没找到解决办法,望处理过类似的大拿指点一下。
var myObject = {}
Object.defineProperty(myObject, 'isVRMode', {
value: viewer._vrButton.viewModel.isVRMode
})
this.$watch('myObject.isVRMode', function (val) {
console.log('myObject.isVRMode')
}, {
deep: true
})
window.myObject = myObject
我试图这样把属性关联起来,但实际上并没什么用,如下图,我点按钮后viewer._vrButton.viewModel.isVRMode已经是true了,但是myObject.isVRMode仍然是false。
不知这种情况是不支持,还是我思路弄错了呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
watch:{
}
效果截图如下: