2013-04-30 112 views
3

我是AngularJS的新手。我正在編寫一個接受函數名稱的指令(因爲它偶爾會改變),然後在模板中將它設置爲ng-click函數來調用控制器上的函數。但是,它似乎並沒有開火,我相信我正在做一些完全錯誤的事情,所以任何幫助都會很棒!Angular JS:將函數傳遞到指令模板不起作用

我想在我的指令中 fire-fn="callThis($index)", 通過得到注入模板的HTML標記來調用MyCtrl$scope.callThis

代碼是在這裏: http://plnkr.co/edit/epMfDwZILgJ5W9qIIPgr?p=preview

感謝您的幫助!

回答

10

您需要刪除鏈接函數中發生的'$ parent'內容,並在指令中調用ng-click="fireFn()"而不是在那裏使用{{}}。

退房在http://plnkr.co/edit/VJNOyx0sBRo0QrcJLsOB?p=preview

方式「&」通過屬性的工作版本(!與指數)爲奇數,從角文檔:

通常它需要從孤立的傳遞數據通過表達式和父範圍,可以通過將局部變量名稱和值的映射傳遞到表達式包裝函數fn來完成。例如,如果表達式是增量(金額),那麼我們可以通過調用localFn作爲localFn({amount:22})來指定金額值。

+0

謝謝,正是我在找的東西! – changus 2013-05-01 17:35:45