AngularJS 没有解析来自 ngRepeat 的一些数据
AngularJS not parsing some data from ngRepeat
HTML代码是:
<mydirective ui-if="isReady"></mydirective>
指令代码是:
app.directive('mydirective', ['$http', '$window' ,'opt', function ($http, $window, opt) {
return {
strict: 'E',
replace: false,
transclude: true,
templateUrl: opt.base_url + 'mytemplate',
link: function(scope, element, attr) {
$http({
url: opt.api_url + 'projects',
dataType: 'json',
method: 'GET',
}).then(function (response) {
scope.projects = response.data;
scope.isReady = true;
});
},
};
}]);
我的模板returns这个html代码:
<project ng-repeat="project in projects" projects="{{$scope.projects}}">
<img ng-src="{{$project.owner.avatar_url}}">
<h2>@{{project.name}}</h2>
</project>
Angular 正确解析了 h2 标签标题。问题是 ng-src 值根本不存在并且包含文字 {{$project.owner.avatar_url}}
字符串。
结果:
<project ng-repeat="project in projects">
<img ng-attr-src="{{$project.owner.avatar_url}}">
<h2>Project #1</h2>
</project>
<project ng-repeat="project in projects">
<img ng-attr-src="{{$project.owner.avatar_url}}">
<h2>Project #2</h2>
</project>
知道是什么导致了这种奇怪的行为吗?
谢谢。
你为什么要使用 $project
。只需使用 project.owner.avatar_url
<img ng-src="{{project.owner.avatar_url}}">`
也不要在 html
中使用 $scope
<project ng-repeat="project in projects" projects="{{projects}}">
HTML代码是:
<mydirective ui-if="isReady"></mydirective>
指令代码是:
app.directive('mydirective', ['$http', '$window' ,'opt', function ($http, $window, opt) {
return {
strict: 'E',
replace: false,
transclude: true,
templateUrl: opt.base_url + 'mytemplate',
link: function(scope, element, attr) {
$http({
url: opt.api_url + 'projects',
dataType: 'json',
method: 'GET',
}).then(function (response) {
scope.projects = response.data;
scope.isReady = true;
});
},
};
}]);
我的模板returns这个html代码:
<project ng-repeat="project in projects" projects="{{$scope.projects}}">
<img ng-src="{{$project.owner.avatar_url}}">
<h2>@{{project.name}}</h2>
</project>
Angular 正确解析了 h2 标签标题。问题是 ng-src 值根本不存在并且包含文字 {{$project.owner.avatar_url}}
字符串。
结果:
<project ng-repeat="project in projects">
<img ng-attr-src="{{$project.owner.avatar_url}}">
<h2>Project #1</h2>
</project>
<project ng-repeat="project in projects">
<img ng-attr-src="{{$project.owner.avatar_url}}">
<h2>Project #2</h2>
</project>
知道是什么导致了这种奇怪的行为吗?
谢谢。
你为什么要使用 $project
。只需使用 project.owner.avatar_url
<img ng-src="{{project.owner.avatar_url}}">`
也不要在 html
中使用$scope
<project ng-repeat="project in projects" projects="{{projects}}">