在一个指令中,我使用带有src属性的角度ng-include,如下所示:
template: '<div ng-include src="\'app/views/address_detail_view.html\' "></div>' +...
这没问题。
现在使用与ng-src完全相同的语句而不是src:
template: '<div ng-include ng-src="\'app/views/address_detail_view.html\' "></div>' +...
然后包含不起作用。什么都没发生,没有例外。
我的最终目标是在src(或ng-src)属性中包含一个var,但如果我这样做:
template: '<div ng-include src="{{myVar}}' "></div>' +...
然后我得到异常:[object XrayWrapper [object DOMException]]
NS_ERROR_DOM_BAD_URI:访问受限制的URI被拒绝
这就是为什么我努力使ng-src工作,但它似乎找不到我的相对网址。
任何想法为什么ng-src不起作用或者我应该向角度团队提交错误?
提前致谢
答案 0 :(得分:0)
如果查看文档
你可以看到src属性实际上是期望一个“角度表达式”。这意味着src属性不需要{{myVar}}
样式语法。相反,如果在实例化指令时指令范围中存在范围var myVar
,则myVar的值将放在src中。
<div ng-include src="myVar"></div>
所以在你的情况下:
return {
link:function($scope) {
$scope.myVar = 'x.html';
},
template: '<div ng-include src="myVar' "></div>' +...
}