javascript - Angularjs - ng-click不触发

标签 javascript angularjs visual-studio

$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');
  }
});

HTML

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

最佳答案

问题是你的 plunker 中的按钮元素在你的 ng-click 指令中有一个额外的 - 。您在 plunker 中看不到它,请尝试将其复制并粘贴到记事本等未格式化的文本编辑器中。您将看到额外的 -,如下所示:

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

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

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

在我的 DEMO 您会看到两个具有相同标记的按钮,第一个不起作用,而另一个可以正常工作。

关于javascript - Angularjs - ng-click不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25152326/

相关文章:

javascript - 使用 Angularjs 在多个文本框中自动完成

sql - SQL Server 中的求和或乘法

visual-studio - 通过 Connected Services 创建 openapi 客户端后生成错误

javascript - 如果值包含点,则阻止模式关闭

javascript - 动态改变表单值

javascript - 混淆 .serialize() 和 .serializeElements()

c# - Visual Studio 扩展包是否支持异步操作

javascript - 使用 getFieldValue() 保存多种形式的数据

javascript - Pagespeed 优化后 Grunt usemin 不起作用

angularjs - 是否可以使用 CloudFront 通过 SSL 在 Amazon S3 上托管 AngularJS 应用程序?