我正在构建一个下拉菜单指令,它允许您选择性地将一个函数附加到列表中的每个项目。我知道如何将每个属性的一个函数传递给指令,但我希望有一种方法可以传递多个函数。有没有办法将多个函数传递给AngularJS指令?
<dropdown items="['item1', 'item2']" actions="['action1()', 'action2()']"></dropdown>
或更好:
<dropdown items="[{'item1':action1()}, {'item2':action2()}]"></dropdown>
这可能被用来生成:
<dropdown items="['item1', 'item2']" actions="['action1()', 'action2()']">
<a ng-click="action1()">item1</a>
<a ng-click="action2()">item2</a>
</dropdown>
为什么不'动作1 = “动作1()” 动作2 =“1动作()'。你可能不会有太多的函数,并用指令中的&映射它们。否则,传递数组(使用'=')将强制您迭代数组以解析函数。 – Mik378 2014-10-05 01:15:57
传入一个对象似乎更清晰。我如何通过'='访问函数?它只是最终将整个事件视为一个字符串,而我无法访问实际的功能。 – elliottregan 2014-10-05 01:25:08