中继器中的一次性数据绑定

One time data binding in repeaters

我们应用程序中使用的几个中继器使用 one-time data binding expression syntax:

<div ng-repeat="item in ::values" class="grid-column-filter-item ng-scope">  
</div>

我们目前用 by.repeater() locator 定位:

element.all(by.repeater("item in ::values"));

我们担心的是 :: 部分不相关,是技术实现细节,不应成为定位器的一部分。理想情况下,我们正在寻找:

element.all(by.repeater("item in values"));

但是,根据 this issueby.repeater()by.exactRepeater() 都不会删除一次性数据绑定,但会删除其他重复语法部分,例如 track byas.

我们还有其他选择吗?

这样做怎么样?

$$('[ng-repeat^="item in"]')

其中 returns 所有具有 ng-repeat 属性且以 "item in" 开头的元素。或者要进行精确匹配,您可以这样做:

$$('[ng-repeat^="item in"][ng-repeat$="values"]')