是否可以从过滤器中提取变量,并在更改时更新过滤器?就像在计算属性中一样吗?
我希望能够做类似的事情:
Vue.filter('t', function(val) {
return this.currentLanguage[val];
});
并让过滤器在this.currentLanguage
更改时重新编译模板。
显然我可以传递一个额外的参数,但我不想为每个字符串执行此操作。
我的代码在切换组件时有效,所以或者,有没有办法强制重新编译?我使用的是vue-router
,但是
this.$route.router.go({
path: this.$route.router.path,
query: {
t: + new Date()
}
})
}
不幸的是没有触发重新编译。
答案 0 :(得分:0)
您可以使用以下方法定义反应性:
Vue.util.defineReactive(obj, key, val)
https://jsfiddle.net/pespantelis/qzuyxqq7/3/
另外,我已经为此创建了一个包: