1
是否可以從過濾器中提取變量,並在更改時更新過濾器?就像它在計算屬性中一樣?Vue'計算'過濾器
我希望能夠做這樣的事情:
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()
}
})
}
不幸的是不會觸發重新編譯。
你能更深入地解釋這個問題?我在這裏創建了一個[JSFiddle](https://jsfiddle.net/asemahle/qzuyxqq7/),其中過濾器依賴於外部變量。它工作沒有問題。 – asemahle
啊,我明白了。我認爲我的問題是,我正在使用我的翻譯器作爲插件,使用'Vue.use(翻譯器)'。因此,在我的翻譯人員中,「this.currentLanguage」沒有被遵守,因爲它只是一個對象的普通屬性,而不是Vue數據。 – SteveEdson
如果您提供了演示此行爲的可運行代碼,則幫助會更容易。 [MCVE](http://stackoverflow.com/help/mcve)類型的東西總是很棒 – asemahle