函数如: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')"

用于调试目的