2013-05-16 71 views
4

我有以下2個功能/班呼叫從動態功能NG單擊

function Availability(){  
    this.Click = function(){ 
     alert("Availability"); 
    } 
} 

function Help(){ 
    this.Click = function(){ 
     alert("Help"); 
    } 
} 

我創建了以下模塊:

var Gadgetory = angular.module("Gadgetory", []); 

及以下控制器:

var ToolbarController = Gadgetory.controller('ToolbarController', ['$scope', 
    function ($scope) 
    { 
     $scope.greeting = 'Gadgetory!'; 
     $scope.Gadgets = [ 
      { name: "Availability", icon: "available.png", object: new Availability() }, 
      { name: "Help", icon: "help.png", object: new Help() } 
     ]; 
    } 
]); 

現在在我的html中,我想調用我的字典中每個小工具的點擊方法,如下所示:

<div ng-repeat="gadget in Gadgets"> 
    <img ng-src="/Gadgets/{{gadget.icon}}" ng-click="{{gadget.object}}.Click()"/> 
</div> 

但是這個失敗了,你能幫我嗎?

+0

生成的結果代碼是什麼? – akonsu

回答

13

調用方法時不應包含{{}}說明 - 在將值打印到屏幕或將值設置爲元素屬性時,將使用它們。調用方法和操作數據只需使用普通的JavaScript語法:

<div ng-repeat="gadget in Gadgets"> 
    <img ng-src="/Gadgets/{{gadget.icon}}" ng-click="gadget.object.Click()"/> 
</div> 
+0

我也是。 +1。 – 11684