今天下午,我经历了一个非常奇怪的AngularJS行为。
如果包含"//"的表达式位于表单的"action"属性中,则角度会给出插值误差。
请参阅下面的代码。如果运行代码,则 URL 可以在除"action"属性之外的所有位置正确显示。
<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
任何想法,谢谢大家。
您需要使用ng-action
而不仅仅是action
属性
我找到了解决方案。 这是原始的堆栈溢出帖子:基于范围内变量的角度集形成动作
基本上,我需要在我的控制器中使用$sce服务才能在"操作"属性中有一个 URL。