1

是否可以从过滤器中提取变量,并在更改时更新过滤器?就像在计算属性中一样?

我希望能够做类似的事情:

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()
         }
    })
}

不幸的是不会触发重新编译。

4

1 回答 1

0

您可以使用以下方法定义反应性:

Vue.util.defineReactive(obj, key, val)

https://jsfiddle.net/pespantelis/qzuyxqq7/3/

另外,我为此创建了一个包:

https://github.com/pespantelis/vue-localizer

于 2016-06-29T21:13:34.613 回答