Angularjs - 点击不点火

gar*_*thb 9 javascript visual-studio angularjs

$ scope.testing正在作为按钮Id正确添加,但单击该按钮不会触发警报.

请参阅示例 - http://plnkr.co/edit/RtidzgiUI7ZAMOTu3XHy?p=preview

CONTROLLER

var app = angular.module('StockCategory', []);

app.controller('stockCategoryController', function($scope) {
  $scope.testing = 'World';

  $scope.saveCategory = function() {

    alert('hello');
  }
});
Run Code Online (Sandbox Code Playgroud)

HTML

<div class="stock-categories" ng-app="StockCategory" ng-controller="stockCategoryController">
    <button class="btn save-cat" id="{{testing}}" ng-­click="saveCategory();">Save</button>
  </div>
Run Code Online (Sandbox Code Playgroud)

rye*_*lar 14

问题是,在你的plunker按钮元素有一个额外的-在你的ng-click指令.你无法在你的plunker中看到它,尝试在无格式文本编辑器(如记事本)中复制和粘贴它.你会看到额外的-看起来像这样:

<button class="btn save-cat" id="{{testing}}" ng--­click="doClick()">Save</button>
Run Code Online (Sandbox Code Playgroud)

可能的原因可能是因为将代码从html页面复制并粘贴到另一个页面或从不同的文档格式粘贴到html格式.

要解决此问题,只需创建具有相同内容的另一个按钮元素,不要复制并粘贴上面的按钮元素.

在我的DEMO中,您将看到两个具有相同标记的按钮,第一个按钮不起作用,而另一个按钮完美运行.

  • 即使从问题中复制代码也只显示了一个短划线,但在记事本中有两个短划线......好找!顺便说一下,我自己在visual studio中输入了这段代码(它只显示了一个破折号)并粘贴到了plunker中,所以不知道双破口是怎么发生的.那是我生命中的2个小时,我永远不会回来. (2认同)