Angular $ compile服务对空白区域敏感?

时间:2013-10-09 22:43:52

标签: javascript angularjs angularjs-directive angularjs-scope

今天我遇到了这个问题,在我正在开发的应用程序中,我在指令中有一堆链接,需要更新并在我的链接函数中使用$ compile服务证明是一个简单的修复。 (这不是最好的解决方案,但那是另一天。)

无论如何,我的链接搞得一团糟,但在删除了{{var |过滤}}声明,一切都修好了!我无法想出这个,但它似乎特定于元素属性(考虑到我的测试编译其他HTML元素)。

以下是演示此问题的工作示例:http://jsbin.com/IRogUxA/10/edit。 (原谅不明确的/人为的指令定义 - 这是今天许多实验的演变!)

这是一个错误吗?或表明一种容易出错的方式来解决问题?都?知道发生了什么事吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

问题出在您编译的html中。你有这个:

var temp1 = $compile('<a href={{isolateVar|toDate:false}}>A LINK THAT WORKS</a>')(scope);
var temp2 = $compile('<a href={{isolateVar| toDate:false}}>A LINK THAT DOES NOT</a>')(scope);

href没有引号,因此对于空格,href属性的值为{{isolateVar|

只需在href添加引号,以便它获取您想要的整个值

var temp1 = $compile('<a href="{{isolateVar|toDate:false}}">A LINK THAT WORKS</a>')(scope);
var temp2 = $compile('<a href="{{isolateVar| toDate:false}}">A LINK THAT DOES NOT</a>')(scope);