2016-06-29 18 views
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() 
     } 
    }) 
} 

불행하게도 재 컴파일을 트리거하지 않습니다.

+0

당신이 더 깊이 문제를 설명 할 수 :

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

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

또한, 그에 대한 패키지를 만들었습니다? 필자는 외부 변수에 의존하는 [JSFiddle here] (https://jsfiddle.net/asemahle/qzuyxqq7/)를 만들었습니다. 그것은 문제없이 작동합니다. – asemahle

+0

아 맞아요. 내 문제는 필자가 번역자를 플러그인으로 사용하고 있는데,'Vue.use (Translator)'라고 생각한다. 따라서 번역가에서 'this.currentLanguage'는 Vue 데이터가 아니라 객체의 단순한 속성이므로 관찰되지 않습니다. – SteveEdson

+0

이 동작을 보여주는 실행 가능한 코드를 제공하면 도움이 훨씬 쉬울 것입니다. [MCVE] (http://stackoverflow.com/help/mcve) 유형 물건은 항상 좋습니다 – asemahle

답변