【问题标题】:AngularJS, UI Bootstrap DropDown Toggle, ng-click not firing if arguments are boundAngularJS,UI Bootstrap DropDown Toggle,如果绑定了参数,则不会触发 ng-click
【发布时间】:2013-09-10 06:38:34
【问题描述】:

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

如果我在使用绑定属性的 ui bootstrap dropdown toggle 内对 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,但问题仍然存在。

有人知道我做错了什么,或者有什么解决方法吗?

【问题讨论】:

    标签: javascript twitter-bootstrap angularjs


    【解决方案1】:

    换行:

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

    到:

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

    希望对你有帮助,

    【讨论】:

      【解决方案2】:

      用这个cloneItemTo(jigger.Code);替换这个cloneItemTo('{{jigger.Code}}');,它在你的Plunkr中对我有用

      【讨论】:

      • 伙计,我还有半天回不来了。谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-06
      • 2017-11-01
      • 2016-11-13
      • 2015-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多