我正在構建一個下拉菜單指令,它允許您選擇性地將一個函數附加到列表中的每個項目。我知道如何將每個屬性的一個函數傳遞給指令,但我希望有一種方法可以傳遞多個函數。有沒有辦法將多個函數傳遞給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