如果我在使用绑定属性的ui bootstrap dropdown toggle内的ng重复项目上进行了ng-click,则不会触发ng-click。
这里我试图将项Code属性传递给函数。
<div class="btn-group">
<a class="btn btn-inverse dropdown-toggle" >Copy to <span class="caret"></span></a>
<ul class="dropdown-menu">
<li ng-repeat="jigger in Thingies">
<a ng-click="cloneItemTo('{{jigger.Code}}');">{{jigger.Name}}</a>
</li>
</ul>
</div>
但是,如果我有一个使用硬编码值的ng-click,则会触发ng-click。在这里,我用'xxx'代替我想要使用的Code属性的地方。
<div class="btn-group">
<a class="btn btn-inverse dropdown-toggle" >Copy to <span class="caret"></span></a>
<ul class="dropdown-menu">
<li ng-repeat="jigger in Thingies">
<a ng-click="cloneItemTo('xxx');">{{jigger.Name}}</a>
</li>
</ul>
</div>
这是控制器的有趣位
$scope.Thingies = [
{"ID": 1,"Code": "itemone", "Name": "Item One"}
,{"ID": 2,"Code": "itemtwo", "Name": "Item Two"}
,{"ID": 3,"Code": "itemthree", "Name": "Item Three"}
,{"ID": 5,"Code": "whereisfour","Name": "Item Five"}
];
$scope.cloningto = 'nowhere';
$scope.cloneItemTo = function(newType) {
$scope.cloningto = newType;
}
我已经把所有东西都剥夺了骨头并创建了Plunkr,问题仍然存在。
任何人都知道我做错了什么,或者有什么变通方法吗?
答案 0 :(得分:3)
更改行:
<a ng-click="cloneItemTo('{{jigger.Code}}');">{{jigger.Name}}</a>
为:
<a ng-click="cloneItemTo(jigger.Code);">{{jigger.Name}}</a></li>
希望它会有所帮助,
答案 1 :(得分:2)
将此cloneItemTo('{{jigger.Code}}');
替换为您在Plunkr中为我工作的cloneItemTo(jigger.Code);