gpt4 book ai didi

Angularjs 1.3 异步过滤器不起作用

转载 作者:行者123 更新时间:2023-12-04 17:18:39 24 4
gpt4 key购买 nike

我有以下代码,它基本上通过服务中的 $http.get 请求从服务器加载消息,然后在 i18n 过滤器中使用。过滤器在 1.2.24 版 angular 上工作正常,但更新到 1.3.5 后它不再工作。

我想知道是否有人遇到过类似的问题并且可以对此有所了解。

var module = angular.module('myApp', [])

.factory('MessageFactory', function ($http, $locale, $log) {
var messages = {};

$http.get("/i18n/" + $locale.id + "/list", {cache: true}).success(function(data) {
$log.debug("Getting messages for", $locale.id);
messages = data;
});

return {
getMessage: function (key) {
return messages[key];
}
}
})

.filter('i18n', function (MessageFactory) {
return function (key) {
return MessageFactory.getMessage(key);
}
});

html代码
<h2>{{'message.page.title'|i18n}}</h2>

最佳答案

最后经过几个小时的挖掘我改变了

.filter('i18n', function (MessageFactory) {
return function (key) {
return MessageFactory.getMessage(key);
}
});


.filter('i18n', function (MessageFactory) {
function filterFn(key) {
return MessageFactory.getMessage(key);
}

filterFn.$stateful = true;

return filterFn;
});

通知 filterFn.$stateful 这就是诀窍。

关于Angularjs 1.3 异步过滤器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27402326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com