Javascript 字符串中的AngularJS-do函数

Javascript 字符串中的AngularJS-do函数,javascript,angularjs,Javascript,Angularjs,我已在页面中初始化此操作: <div ng-click="unpublish()">unpublish</div> <div ng-click="publish()">publish</div> 此代码不起作用,我想执行“$scope.select”-它在同一个控制器中初始化。您真的应该避免使用eval还查看了构建选择的ng选项?你向它传递一个项目数组,类似于ng repeat,它允许你非常轻松地构建你的选择。我不认为你可以在选项中使用函数作为值

我已在页面中初始化此操作:

<div ng-click="unpublish()">unpublish</div>
<div ng-click="publish()">publish</div>

此代码不起作用,我想执行“$scope.select”-它在同一个控制器中初始化。

您真的应该避免使用
eval
还查看了构建选择的
ng选项
?你向它传递一个项目数组,类似于
ng repeat
,它允许你非常轻松地构建你的选择。我不认为你可以在选项中使用函数作为值,就像你写的那样。我不使用ng options或ng repeat,我写静态DOM选项值。。。如何在类似的DOM中执行相同的操作?将函数存储在对象中,并使用它们的名称作为选项的值。然后可以使用括号符号和值调用函数。另外请注意,您误用了。请忘记评估,阅读我上面链接的文档。有一个例子说明了如何在类似的情况下不使用eval。顺便说一句,
publish()
在您的代码中不是未定义的,
callback
是未定义的。您应该真正避免使用
eval
也查看了构建选择的
ng选项
?你向它传递一个项目数组,类似于
ng repeat
,它允许你非常轻松地构建你的选择。我不认为你可以在选项中使用函数作为值,就像你写的那样。我不使用ng options或ng repeat,我写静态DOM选项值。。。如何在类似的DOM中执行相同的操作?将函数存储在对象中,并使用它们的名称作为选项的值。然后可以使用括号符号和值调用函数。另外请注意,您误用了。请忘记评估,阅读我上面链接的文档。有一个例子说明了如何在类似的情况下不使用eval。顺便说一句,
publish()
在代码中不是未定义的,
callback
是未定义的。
<select ng-model="select" ng-change="selected()">
    <option value="publish()">Publish</option>
    <option value="unpublish()">Unpublish</option>
</select>
$scope.selected = function () {
        alert($scope.select); //this display correct selected value of option
        var callback = eval($scope.select);
        console.log(callback);
};