0
我有一個單一的頁面應用程序構建與角filter
負責替換本地化的字符串的參考鍵。AngularJS禁用動態過濾器
例子:
{{'example.context.section.id' | translate}}
我希望能夠以編程方式禁用過濾器或覆蓋它,這樣它只是輸出的關鍵。重點是在模型上創建一個按鈕,讓作者可以查看翻譯鍵的實際上下文。
angular.module('***').filter('translate', function() {
return function(input){ return input; }
});
我試着在控制檯上執行上面的過濾器替換,但翻譯仍然使用實際的翻譯過濾器。
我也嘗試過在事後使用配置塊中的$filterProvider
,但這也沒有效果。我遵循(文檔)[http://docs.angularjs.org/api/ng。$ filterProvider]的指南。
angular.module('ltAccountApp').config(['$filterProvider', function($filterProvider){
$filterProvider.register('translate', function(translate) {
return function(input) { return input; }
});
}]);
而且這種變化基於文檔:
angular.module('ltAccountApp').run(['$provide', '$filterProvider', function($provide, $filterProvider){
$provide.value('translate', function(input){ return input; });
$filterProvider.register('translate', function(translate) {
return translate(input) || input;
});
}]);
也許我可以在過濾器供應商添加到代碼,並將它基於一個rootscope可變2個選項之間進行切換?
感謝您的幫助和建議!
使用AngularJS 1.08
謝謝。那麼我將如何從控制檯切換$ rootScope變量? –
@ ogc-nick嗯,這需要一點點破解。您可以將'$ rootScope'分配給'window'並將'enableFilter'分配給:'$ rootScope。$ apply(function(){$ rootScope.enableFilter =!$ rootScope.enableFilter;});' – Daiwei
雙全局hack ,我們最好把它保留在dl上。不過謝謝,我會試一試。無論如何它只是一個原型,而不是生產。 –