Javascript AngularJS:在<;李></李>;使用不同的函数调用进行ng click?
我想创建一个菜单。菜单中的项目数量会有所不同,但选中每个项目时会调用不同的函数。我觉得使用ng repeat显示基于模板的所有项目会更干净,但我不知道如何从模板调用不同的函数。在C++中,可以将函数的指针传递给函数,但在JavaScript或angLasjs中查找类似的东西,并没有给我提供任何有用的东西。在我单独编写每个按钮的代码,并复制/粘贴我的模板之前,有什么方法可以让它工作吗?类似这样的方法吗Javascript AngularJS:在<;李></李>;使用不同的函数调用进行ng click?,javascript,angularjs,Javascript,Angularjs,我想创建一个菜单。菜单中的项目数量会有所不同,但选中每个项目时会调用不同的函数。我觉得使用ng repeat显示基于模板的所有项目会更干净,但我不知道如何从模板调用不同的函数。在C++中,可以将函数的指针传递给函数,但在JavaScript或angLasjs中查找类似的东西,并没有给我提供任何有用的东西。在我单独编写每个按钮的代码,并复制/粘贴我的模板之前,有什么方法可以让它工作吗?类似这样的方法吗 <ul> <li ng-repeat="item in list" n
<ul>
<li ng-repeat="item in list" ng-click="click(item)">Text</li>
</ul>
像这样的
<ul>
<li ng-repeat="item in list" ng-click="click(item)">Text</li>
</ul>
我发现了一个类似的问题,这可能会解决你的问题。
您不想在每个链接上调用不同的函数,而是传递link元素。我发现了一个类似的问题,这可能会解决您的问题。 您不希望对每个链接调用不同的函数,而是传递link元素。备选方案1: JS: HTML: HTML:
{{item.name}
演示:备选方案1:
JS:
HTML:
HTML:
{{item.name}
演示:非常全面的概述,效果非常好。谢谢。非常全面的概述,它工作得非常好。非常感谢。
$scope.items =
[
{ name: 'item 1', action: 'function1' },
{ name: 'item 2', action: 'function2' },
{ name: 'item 3', action: 'function3' }
];
$scope.execute = function(action) {
$scope[action]();
};
$scope.function1 = function () {
console.log('function1');
);
$scope.function2 = function () {
console.log('function2');
};
$scope.function3 = function () {
console.log('function3');
};
<li ng-repeat="item in items" ng-click="execute(item.action)">
{{ item.name }}
</li>
$scope.items =
[
{ name: 'item 1', action: function () { console.log('function 1');} },
{ name: 'item 2', action: function () { console.log('function 2');} },
{ name: 'item 3', action: function () { console.log('function 3');} }
];
$scope.executor = function(item) {
item.action();
};
<li ng-repeat="item in items" ng-click="executor(item)">
{{ item.name }}
</li>