我试图弄清楚如何使用 ng-repeat 循环遍历对象数组。
我有一个这样的工厂,里面有三组数据:
mainApp.factory("dashboardContent", function() {
return {
contentBoxes: [
{
boxType: "image",
boxIcon: "icons-image",
boxTitle: "on Chapter 1, paragraph 3",
header: {
title: "Lorem ipsum title sit amet",
subtitle: "by Lorem Ipsum"
},
authorImage: "/asssets/ssfsgterwes",
embedContent: ""
},
{
boxType: "audio",
boxIcon: "icons-audio",
boxTitle: "on Chapter 12, paragraph 2",
header: {
title: "lorem ipsum audio sit maet",
subtitle: "by multiple objects"
},
authorImage: "/asssets/ssfsgterwes",
embedContent: ""
},
{
boxType: "quote",
boxIcon: "icons-lightbulb",
boxTitle: "on Chapter 01, paragraph 5",
header: {
title: "lorem ipsum quote sit maet",
subtitle: "by multiple objects parsing"
},
authorImage: "/asssets/ssfsgterwes",
embedContent: ""
}
]
}
})
还有一个我注入工厂的指令:
.directive('contentBox', function(dashboardContent) {
return {
restrict: 'E',
scope: {},
replace: true,
templateUrl: '/modules/contentbox.html',
link: function (scope, element) {
scope.contentData = dashboardContent.contentBoxes;
if (!$.isEmptyObject(scope.contentData.header)) {
element.children('.content').prepend(
'<div class="content-header">' +
'<span class="content-title">' +
scope.contentData.header.title +
'</span>' +
' <br/>' +
'</div>'
);
if (!$.isEmptyObject(scope.contentData.header.subtitle)) {
element.find('.content-header').append(
'<span class="content-author">' +
scope.contentData.header.subtitle +
'</span>'
);
}
}
}
}
})
在我看来,我试图像这样循环遍历它:
<content-box ng-repeat="content in contentData"></content-box>
在这种情况下我需要使用什么表达方式?我无法从ng-repeat文档中理解这个表达式是如何工作的,我发现在“contentData 中的内容”中,contentData 指的是我的一组对象,但是第一个词是什么(内容,因为我在这里设置),它指的是什么?
另外,我是否正确设置了这个范围?就像上面的代码一样:
scope.contentData = dashboardContent.contentBoxes;
我从中得到的输出是三个空的内容框,所以我猜它正在循环通过它,但其中没有打印任何数据 - 即 {{contentData.boxTitle}} 只返回空
在这种情况下我是否正确使用了 ng-repeat ?