功能如:ng-click =" alert(' Clicked')"

时间:2016-01-20 11:45:50

标签: angularjs angularjs-ng-click

对于模型,我需要一个像

这样的简单机制
ng-click="alert('Clicked')"

但上面的代码不起作用,有人可以帮帮我吗?我不想触摸控制器..

4 个答案:

答案 0 :(得分:3)

请参阅上一个答案,ng-click =“alert('Hello World!')”仅当$ scope指向window.alert即

时才会起作用
$scope.alert = window.alert;

但即使它会产生eval问题,所以正确的语法必须是:

<强> HTML

<div ng-click = "alert('Hello World!')">Click me</div>

<强>控制器

$scope.alert = function(arg){
    alert(arg);
}

答案 1 :(得分:2)

据我所知,ng-click仅适用于$scope。因此,您只能调用$scope本身定义的函数。要使用提醒,您可以尝试访问window元素,只需使用window.alert('Clicked')

EIDT:感谢易卜拉欣。我忘了。如果你不能定义,你就不应该使用window.alert

$scope.alert = window.alert;

在这种情况下,在alert('Clicked')指令中使用ng-clicked应该有效。但最后,这种方法无法解决您不接触控制器的问题。

答案 2 :(得分:2)

您可以使用

onclick="alert('Clicked')"

出于调试目的

答案 3 :(得分:0)

正如Neeraj所说,接受的答案不起作用。将这样的内容添加到控制器中以避免Illegal Invocation错误:

$scope.alert = alert.bind(window);