3

最糟糕的问题,我不确定它在哪里。(以下所有变量名都经过消毒以保护有罪者)

如果我在使用绑定属性的ui bootstrap 下拉切换中对 ng-repeated 项目进行 ng-click,则 ng-click 不会触发。

在这里,我试图将 items 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”进行硬编码,以代替我希望使用 items 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,但问题仍然存在。

任何人都知道我做错了什么,或任何解决方法?

4

2 回答 2

3

换线:

<a ng-click="cloneItemTo('{{jigger.Code}}');">{{jigger.Name}}</a>

至:

<a ng-click="cloneItemTo(jigger.Code);">{{jigger.Name}}</a></li>

希望它会有所帮助,

于 2013-09-10T06:47:51.537 回答
2

将其替换cloneItemTo('{{jigger.Code}}');cloneItemTo(jigger.Code);它在您的 Plunkr 中对我有用

于 2013-09-10T06:51:52.767 回答