angular src与相对路径工作正常,但不是ng-src

时间:2014-10-05 21:35:54

标签: angularjs angularjs-directive angularjs-ng-include

在一个指令中,我使用带有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不起作用或者我应该向角度团队提交错误?

提前致谢

1 个答案:

答案 0 :(得分:0)

如果查看文档

ngInclude Arguments

你可以看到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>' +...
}