我有一个角度指令的单元测试。该指令在其模板中有一个ng-repeat
,它绑定到指令控制器内的一个数组。当调用控制器中的方法时,该数组会发生更改(此方法实际上由子指令调用,如addMe()
)。
这在'现实生活'中运行良好,但不在Jasmine单元测试中。我可以在调试器中看到,所有内容都被调用,并且数组具有正确的内容,但不知何故ng-repeat
将不会更新。在更改数组后,我甚至尝试在控制器内调用$scope.$digest()
,但这也不起作用。
有帮助吗?
丹尼尔
模板的相关部分是:
<div class="step-wizard-header">
<div class="step"
ng-repeat="title in titles"
ng-click="selectPage($index, 0)"
ng-class="{ active: currentIndex == $index, done: currentIndex > $index }">
<span class="number">
{{$index + 1}}
</span>
<span class="title">
{{title.text}}
</span>
<div class="substep-holder"
ng-show="currentIndex == $index">
<div class="substep"
ng-repeat="sub in title.subs"
ng-click="selectPage($parent.$index, $index); $event.stopPropagation()"
ng-class="{ active: currentSubIndex == $index, done: currentSubIndex > $index }">
{{sub.text}}
</div>
</div>
<div class="right-arrow"
ng-style="{ 'z-index': (titles.length - $index) }">
</div>
</div>
</div>
答案 0 :(得分:0)
问题是由ng-animate
版本导致的某些不兼容造成的。更新所有内容(目前为1.2.13)解决了这个问题。