【发布时间】:2018-12-18 21:27:23
【问题描述】:
我有一个注入了一些全局配置对象的移动 webview:
Vue.prototype.$configServer = {
MODE: "DEBUG",
isMobile: false,
injected: false,
version: -1,
title:"App",
user: null,
host: "http://127.0.0.1:8080"
}
稍后 WebView 注入这个:
Vue.prototype.$configServer = {
MODE: "DEBUG",
title: "App",
version: "2.0",
isMobile: true,
injected: true,
host: "http://127.0.0.1:8081"
}
并尝试将其用于组件:
const HomePage = {
key: 'HomePage',
template: '#HomePage',
components: { toolbar },
data() {
return {
items: [
{name:"Login", link:"login"},
]
}
},
computed:{
config() {
return Vue.prototype.$configServer
}
},
};
但是页面没有更新。如何应对变化?
P.D:我确认该对象已使用 safari 调试工具进行了更新。也可以在本地 html 中测试。
【问题讨论】:
-
向 Vue 原型添加属性不会使其反应。为了使其具有反应性,您需要执行类似于 described here 的操作。
-
你能把你的配置放在主 vue 实例的数据中吗?在这种情况下,vue 将不惜一切代价确保它是响应式的
-
是的,工作。我需要访问 this.$root。请添加为答案。
标签: javascript ios vue.js uiwebview