如果我有ng-repeat
指令通过一次性绑定迭代列表列表,那么通过每个内部列表的嵌套ng-repeat
是否也需要一次性绑定,还是多余的?
<div ng-repeat="list in ::$ctrl.lists">
<span ng-repeat="item in list">{{item}}</span>
</div>
我是否需要将内部ng-repeat
更改为item in ::list
? $ctrl.lists
永远不会以任何方式改变。
答案 0 :(得分:1)
指定无处继承,如果绑定了数组,则数组中的对象仍然可以更改,因此最好放置&#39; ::&#39;对于跨度循环。
http://jsfiddle.net/vw2fjxys/64/
extension TreeNode {
func levelMeans() -> [Double] {
var sumAtLevel = [Double]()
var countAtLevel = [Double]()
func visit(_ node: TreeNode, level: Int) {
if sumAtLevel.count == level {
sumAtLevel.append(0)
countAtLevel.append(0)
}
sumAtLevel[level] += node.val
countAtLevel[level] += 1
if let left = node.left { visit(left, level: level + 1) }
if let right = node.right { visit(right, level: level + 1) }
}
visit(self, level: 0)
return zip(sumAtLevel, countAtLevel).map({ $0.0 / $0.1 })
}
}
let test0 =
TreeNode(10,
TreeNode(5),
TreeNode(15,
TreeNode(6),
TreeNode(20)))
print(test0.levelMeans())
# Output: [10.0, 10.0, 13.0]
你可以在2秒后看到例子中的::对于内循环没有重新计算它,但没有它。