我在尝试Fiddle后为我的方案创建了this。不知怎的, contractNum 没有在这里填充,但是在我的项目中它已经填充了。我已经搜索了很多并实现了我所得到的所有解决方案,但是不能使锚链接工作,所以它可以使用参数调用控制器中的方法 如果在使用锚点的ng-click中没有传递任何参数,那么它可以正常工作但是有些东西在传递参数的情况下是错误的。请帮我解决。
查看:
<div ng-app="home" >
<div ng-controller="homeCtrl" ng-repeat="item in items">
Contract number<a href="" ng-click="getAssetDetail(item.jumboId)"> {{item.contractNum}} </a> <br />
</div>
<div>
和控制器:
angular.module(&#39; home&#39;,[])。控制器(&#39; homeCtrl&#39;,[&#39; $ scope&#39;,功能($ scope,$ http, $ filter){
var items=[{contractNum:"123", serialNum:"ABC1" },
{contractNum:"121", serialNum:"ABC2" },
{contractNum:"124", serialNum:"ABC3" },
{contractNum:"125", serialNum:"ABC4" }
];
$scope.getAssetDetail = function (jumboId) {
alert('you got'+jumboId);
};
}]);
答案 0 :(得分:1)
首先,您的商品需要是$ scope的属性,而不仅仅是本地var。
其次,您的商品上没有名为jumboId的属性,因此这就是您未定义的原因。
也许您正在尝试在警报中获取serialNum?如果有的话,看看这个。
修复您的商品:
$scope.items=[{contractNum:"123", serialNum:"ABC1" },
{contractNum:"121", serialNum:"ABC2" },
{contractNum:"124", serialNum:"ABC3" },
{contractNum:"125", serialNum:"ABC4" }
];
并修复你的HTML:
Contract number<a href="" ng-click="getAssetDetail(item.serialNum)"> {{item.contractNum}} </a>