$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/