private void printNode(Node rootNode, String spacer) {
System.out.println(spacer + rootNode.getNodeName() + " -> " + rootNode.getNodeValue());
NodeList nl = rootNode.getChildNodes();
for (int i = 0; i < nl.getLength(); i++)
printNode(nl.item(i), spacer + " ");
}
Начиная с версии 1.3.0-rc.2, фильтры по умолчанию не имеют статуса. Это означает, что отфильтрованное выражение будет переоцениваться только при изменении левого выражения.
У вас есть это:
<div>{{'test' | localization}}</div>
test
, очевидно, никогда не изменится в этом case, поэтому все выражение будет оцениваться только один раз.
Вам нужно указать фильтр как состояние:
app.filter("localization", function(localizationService) {
function localization(value) {
if (localizationService.text && localizationService.text.hasOwnProperty(value)) {
return localizationService.text[value];
}
return value;
}
localization.$stateful = true;
return localization;
});
Демо: http://plnkr.co / редактировать / YIzmH3lR9350McprusAA? р = предварительный просмотр