6

我正在使用 AngularJS,并希望将 html 元素函数中的匿名 JavaScript 函数ng-click作为参数传递给我范围内的函数。

<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 Fiddle:http: //jsfiddle.net/gUj8x/6/

请注意,该指令现在作为引号转义字符串传递给 Angular。

于 2012-11-29T03:24:46.110 回答