我创建了一个像这样的内联模板
<script type="text/ng-template" id="/deviceResultsContainer.html">
{{resultListTitle}}
</script>
如果我这样使用
<div ng-include="'/deviceResultsContainer.html'" ng-init="resultListTitle = 'Errors'"></div>
<div ng-include="'/deviceResultsContainer.html'" ng-init="resultListTitle = 'Warnings'"></div>
我的输出是
警告
警告
为什么会像这样列出,而不是我期望的那样:
错误
警告
答案 0 :(得分:2)
因为最后将$scope
值resultListTitle
设置为“警告”。从技术上讲,它们都看着相同的价值。
我认为您正在寻找的内容可能希望获得 isolated $scope
的指令。
如果您要执行以下操作:
<div ng-include="'/deviceResultsContainer.html'" ng-init="resultListTitle = 'Errors'"></div>
<div ng-include="'/deviceResultsContainer.html'"></div>
你会看到:
错误
错误
答案 1 :(得分:0)
如果您添加ng-if="true"
或真实陈述的某种变体,似乎会将评估顺序更改为ng-init
在ng-include
之前重新评估的位置。当然是骇客,使用风险自负。