$ 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>
答案 0 :(得分:14)
问题在于,您的-
指令中的plunker中的按钮元素有一个额外的ng-click
。你无法在你的plunker中看到它,尝试在无格式文本编辑器(如记事本)中复制和粘贴它。您将看到如下所示的额外-
:
<button class="btn save-cat" id="{{testing}}" ng--click="doClick()">Save</button>
可能的原因可能是因为将代码从html页面复制并粘贴到另一个页面或从不同的文档格式粘贴到html格式。
要解决此问题,只需创建具有相同内容的另一个按钮元素,不要复制并粘贴上面的按钮元素。
在我的 DEMO 中,您会看到两个带有相同标记的按钮,第一个按钮不起作用,而另一个按钮完美无缺。
答案 1 :(得分:1)
似乎在this plunker上正常工作。
因为你正在编辑你发布的那个,所以我必须制作一个新的。它看起来不像你问题中的代码。
你的plnkr
ng-click="saveCategory"
这不起作用,因为ng-click
需要表达式,而不是引用。你在问题中说得对。
代码,因为它在你的问题中在这里工作正常。