我经常使用ngRepeat添加指令的多个实例。例如,
<div ng-repeat="obj in list">
<div my-directive></div>
</div>
在myDirective
内,obj
可通过范围获取。然后在指令的模板中我可以显示一些数据。
<div>{{obj.someText}}</div>
这很好用,直到我想在多个地方使用该指令。然后我意识到我已经隐式定义了myDirective
的接口:数据必须作为名为obj
的对象传递到作用域。感觉不对劲。这感觉很意外。它没有明确记录。
这有什么办法吗?
我想到的避免这种情况的唯一方法就是更糟糕。它将迭代范围中的键并查找不以$
开头的值。但是,如果你找到了不止一把钥匙,那么你就会受到冲击。
也许我传递数据的整个方法都是错误的。