6

ng-clickAngularJSを使用していて、匿名のJavaScript関数をhtml要素の関数からパラメーターとしてスコープの関数に渡したいと考えています。

<div ng-app="">
  <div ng-controller="Ctrl1">
      <button ng-click="test(function(){alert('pushed');})">Push Me</button>
  </div>
</div>

そしてJavaScriptで:

function Ctrl1($scope) {
    $scope.test = function(callback){
        callback();
    };
}

問題を示すために簡単なjsfiddleをセットアップしました:http: //jsfiddle.net/C4t4LystX/gUj8x/4/


コードでこれを実行しようとすると、コンソールで次のタイプのエラーが発生します。

Syntax Error: Token '{' is unexpected, expecting [)]

これをどのように実行すればよいですか?

4

1 に答える 1

2

JavaScriptでは、実行したい関数を評価する必要があります。この場合、命令を実行する場合は、alert("pushed")その文字列を評価する必要があります。

私はここでこれを行うJSフィドルを開発しました:http://jsfiddle.net/gUj8x/6/

命令が引用符で囲まれた文字列としてAngularに渡されることに注意してください。

于 2012-11-29T03:24:46.110 に答える