类似于ng-click =“ alert('Clicked')”的函数

5 angularjs angularjs-ng-click

对于模型,我需要一个简单的机制,例如

ng-click="alert('Clicked')"
Run Code Online (Sandbox Code Playgroud)

但是上面的代码无法正常工作,有人可以帮我吗?我不想碰控制器。

Nee*_*sal 6

参考之前的回答, ng-click = "alert('Hello World!')" 仅当 $scope 指向 window.alert 时才有效,即

$scope.alert = window.alert;
Run Code Online (Sandbox Code Playgroud)

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

HTML

<div ng-click = "alert('Hello World!')">Click me</div>
Run Code Online (Sandbox Code Playgroud)

控制器

$scope.alert = function(arg){
    alert(arg);
}
Run Code Online (Sandbox Code Playgroud)


Aer*_*er0 4

据我所知,ng-click仅在您的$scope. 所以你只能调用你自己定义的函数$scope。要使用警报,您可以尝试window仅使用 来访问该元素window.alert('Clicked')

EIDT:感谢易卜拉欣。我忘了。你不应该能够使用window.alert,因为你不会定义:

$scope.alert = window.alert;
Run Code Online (Sandbox Code Playgroud)

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