如何避免定义用于将数据传递到指令的隐式接口?

时间:2015-01-14 16:39:24

标签: angularjs angularjs-directive angularjs-scope angularjs-ng-repeat

我经常使用ngRepeat添加指令的多个实例。例如,

<div ng-repeat="obj in list">
  <div my-directive></div>
</div>

myDirective内,obj可通过范围获取。然后在指令的模板中我可以显示一些数据。

<div>{{obj.someText}}</div>

这很好用,直到我想在多个地方使用该指令。然后我意识到我已经隐式定义了myDirective的接口:数据必须作为名为obj的对象传递到作用域。感觉不对劲。这感觉很意外。它没有明确记录。

这有什么办法吗?

我想到的避免这种情况的唯一方法就是更糟糕。它将迭代范围中的键并查找不以$开头的值。但是,如果你找到了不止一把钥匙,那么你就会受到冲击。

也许我传递数据的整个方法都是错误的。

0 个答案:

没有答案