arrays - 是否可以将 AngularJS 函数存储在数组中并将函数放在 ng-click 中?
问题描述
我试图使用 Array 制作几个按钮。显示按钮,但数组中的功能不起作用。
var module = angular.module('app',[]);
module.controller('Ctrl',['$scope', function ($scope){
$scope.data = [
{link: "myNav.pushPage('page1')", btn:'Page 1'},
{link: "myNav.pushPage('page2')", btn:'Page 2'},
{link: "myNav.pushPage('page3')", btn:'Page 3'}
]
}])
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<div ng-app="app" ng-controller="Ctrl">
<tr ng-repeat="x in data">
<td><button ng-click="{{x.link}}">{{x.btn}}</button></td>
</tr>
</div>
解决方案
如果函数始终相同并且只有参数发生变化,则可以将参数放在data
数组中并像这样传递它:
<table>
<tr ng-repeat="x in data">
<td><button ng-click="test(x.link)">{{x.btn}}</button></td>
</tr>
</table>
使用这个数组:
$scope.data = [{
link: "page1",
btn: 'Page 1'
},
{
link: "page2",
btn: 'Page 2'
},
{
link: "page3",
btn: 'Page 3'
}]
检查工作演示:DEMO
推荐阅读
- python - 如何提取点阵LED显示屏显示的文字
- arrays - 如何在perl中将bigint转换为字节数组,类似于java
- javascript - 在选择中将第一个选项设置为灰色,将其他选项设置为黑色
- sql - 为什么在 peroid 日期中使用 date_part 和确切的日期参数查询数据之间的结果不同?
- angular - 如何控制组件使用左箭头和右箭头键盘一个angular2
- reactjs - axios同步取数据的问题
- d3.js - D3 树 - 如何扩展树以显示和突出显示所有同名节点?
- python - 我们如何先选择自动隐藏值选项,然后再选择需要的选项?
- node.js - 如何构建电子商务微服务应用程序
- android - 如何为添加到 android 项目的外部 sdk 库创建配置 APK?