2013-05-16 2 views
4

I가 나는 다음과 같은 모듈을 만든전화에서 동적 기능 NG 클릭

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

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

다음 2 개 기능/클래스 :

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에서는 다음과 같이 사전에있는 각 가젯의 click 메소드를 호출하려고합니다.

<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