AngularJS在" action"中评估表达式。属性

时间:2017-05-13 22:42:22

标签: javascript angularjs

今天下午我经历了一个非常奇怪的AngularJS行为。

如果表达式包含" //"在"行动"一个表格的属性,然后角度给出插值误差。

请参阅下面的代码。如果您运行代码,则可以在除" action"之外的所有地方正确显示URL。属性。

<form
id="moodleform" target="my_iframe"
method="post" action="{{'http://www.someurl.com'}}" 
style="{{'http://www.someurl.com'}}"
some-attr="{{'http://www.someurl.com'}}">
{{'http://www.someurl.com'}}
  <input name="somefield" value="someValue"/>
  <input type="submit" value="Submit">

这是演示此问题的Plunker,如果你检查表单元素,你可以看到action属性为空,控制台中有错误说$ interpolate:interr

https://plnkr.co/edit/R2ypg6WWmro1WdrNy6mX?p=preview

任何想法,谢谢大家。

2 个答案:

答案 0 :(得分:0)

您需要使用ng-action而非action属性

答案 1 :(得分:0)

我找到了解决方案。 以下是原始的stackoverflow帖子:Angular set form action based on variable in scope

基本上,我需要在我的控制器中使用$ sce服务,以便在“action”属性中有一个url。