web-dev-qa-db-ja.com

次のような関数:ng-click = "alert( 'Clicked')"

モックアップには、次のような単純なメカニズムが必要です。

ng-click="alert('Clicked')"

しかし、上記のコードは機能していません、誰かが私を助けることができますか?コントローラに触れたくない。

6
user2227400

前の回答を参照、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);
}
4
Neeraj Bansal

Neerajが述べたように、受け入れられた答えは機能しません。 Illegal Invocationエラーを回避するには、次のようなものをコントローラーに追加します。

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

あなたが使用することができます

onclick="alert('Clicked')"

デバッグ目的で

0
Sasha Kravchuk