我有以下 2 个函数/类
function Availability(){
this.Click = function (){
alert("Availability");
}
}
function Help(){
this.Click = function (){
alert("Help");
}
}
我创建了以下模块:
var Gadgetory = angular.module("Gadgetory", []);
和以下 Controller :
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>
但这不起作用,你能帮我吗?
最佳答案
调用方法时不应包含 {{
和 }}
指令——它们用于将值打印到屏幕或将值设置为元素属性。对于调用方法和操作数据,只需使用普通的 JavaScript 语法:
<div ng-repeat="gadget in Gadgets">
<img ng-src="/Gadgets/{{gadget.icon}}" ng-click="gadget.object.Click()"/>
</div>
关于javascript - 从 ng-click 调用动态函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16588545/