繁体   English   中英

带有twitter bootstrap的锚标记不适用于ng-click

[英]anchor tag with twitter bootstrap not working for ng-click

我创建了一个小提琴尝试后我的方案这样 不知何故, 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('home',[])。controller('homeCtrl',['$ scope',function($ 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);

    };
 }]);

首先,您的商品需要是$ 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/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM