我正在使用AngularJS开展项目。我想要做的是在我的控制器上编写我的方法的定义,并将其作为字符串传递,即使在客户端也可以点击执行:
以下是我正在尝试做的一个例子:
我的控制器:
$scope.myMethod = "add({'a':3,'b':4})";
add (o)
{
return o.a+o.b;
}
我的HTML页面:
<button ng-click={{ myMethod }} ></button>
但我一直得到错误:[$ parse:syntax]。
你能告诉我我做错了吗?
答案 0 :(得分:1)
绑定将插入整个字符串:
"content"
也就是说,它插入“inline,因为属性值也被”括起来,所以插入的“过早地结束了值表达式。呈现的HTML看起来像这样:
ng-click=""add({'a':3,'b':4})""
用'保护绑定,像这样:
ng-click="'{{myMethod}}'"
我不同意您在HTML中插入方法的方式,我也不确定它是否有效,但上述内容将修复$ parse错误。