使用twitter bootstrap的锚标签不适用于ng-click

时间:2014-12-11 21:13:01

标签: javascript angularjs

我在尝试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);

    };
 }]);

1 个答案:

答案 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>

http://jsfiddle.net/gLrz0u4k/