5 angularjs angularjs-ng-click
对于模型,我需要一个简单的机制,例如
ng-click="alert('Clicked')"
Run Code Online (Sandbox Code Playgroud)
但是上面的代码无法正常工作,有人可以帮我吗?我不想碰控制器。
参考之前的回答, 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)
据我所知,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
指令中使用应该有效。但最终,这种方法并不能解决你不碰控制器的问题。