函数如:ng-click="alert('Clicked')"
A function like: ng-click="alert('Clicked')"
对于模型,我需要一个像
这样的简单机制
ng-click="alert('Clicked')"
但是上面的代码不起作用,有人可以帮助我吗?我不想碰控制器..
据我所知,ng-click
仅在您的 $scope
内有效。因此,您只能调用在 $scope
本身中定义的函数。要使用警报,您可以尝试访问 window
元素,只需使用 window.alert('Clicked')
.
EIDT: 感谢易卜拉欣。我忘了。你不应该使用 window.alert
,只要你不会定义:
$scope.alert = window.alert;
在这种情况下,在 ng-clicked
指令中使用 alert('Clicked')
应该可行。但最终,这种方法并不能解决你不碰控制器的问题。
参考之前的答案,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);
}
正如 Neeraj 所提到的,已接受的答案无效。将类似这样的内容添加到您的控制器以避免 Illegal Invocation
错误:
$scope.alert = alert.bind(window);
您可以使用
onclick="alert('Clicked')"
用于调试目的
对于模型,我需要一个像
这样的简单机制ng-click="alert('Clicked')"
但是上面的代码不起作用,有人可以帮助我吗?我不想碰控制器..
据我所知,ng-click
仅在您的 $scope
内有效。因此,您只能调用在 $scope
本身中定义的函数。要使用警报,您可以尝试访问 window
元素,只需使用 window.alert('Clicked')
.
EIDT: 感谢易卜拉欣。我忘了。你不应该使用 window.alert
,只要你不会定义:
$scope.alert = window.alert;
在这种情况下,在 ng-clicked
指令中使用 alert('Clicked')
应该可行。但最终,这种方法并不能解决你不碰控制器的问题。
参考之前的答案,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);
}
正如 Neeraj 所提到的,已接受的答案无效。将类似这样的内容添加到您的控制器以避免 Illegal Invocation
错误:
$scope.alert = alert.bind(window);
您可以使用
onclick="alert('Clicked')"
用于调试目的