translate = {
'a':'a',
'b':'b'
}
假设我这个translate要赋值到我页面的header实例里,和页面中其他实例里,要怎么办?因为这个translate是通用的,用php拼接到某个页面里的,所以实例数量和名字是未知的,不能直接
header.translate = translate
因为其他页面的实例需要显示translate里的字,因为我是通过ajax来获得其他语言的。想是直接更新translate对象页面的字就能改变。但是一个页面不只有一个Vue实例,所以不能直接指定单独一个。
类似于:
A.html
B.html
header.html
用php拼接,共用一个header.html
页面A.html有一个Vue实例A,
页面B.html有一个Vue实例B,
页面header有一个Vue实例header,
在打开A的时候就有两个实例,但里面的文字都在外边js文件里的translate对象里面,这个js是写死的,所以不能直接像上面一样赋值。
情况大概是这样,大家有没有什么好点的思路或则其他的解决方法。
vuex或者mixins
建议了解一下 vuex,可以使用 vuex 实现多组件共享状态,其中的状态可以在 action 中通过 AJAX 进行初始化,然后在 app.vue 的 created 中调用该 action,需要获取其它语言时通过 AJAX 获取。
正文完