AngularJs 帮助,在传递给隔离范围的对象中选择数组时遇到问题
AngularJs help, trouble selecting array in object passed to isolation scope
谁能告诉我我在这里做错了什么? 是否可以按照我在这里尝试的方式插值图像数组? 我知道该对象正在工作,因为 inkObject.header 属性可以很好地插入页面,但是具有各种图像的数组由于某种原因不起作用...... 我不确定它是否不允许你在对象内传递这样的数组,或者我只是做错了什么。
谢谢。
//Controller in app.js
app.controller('galleryCtrl', ['$scope', '$http','$location',
function ($scope, $http, $location) {
$scope.ink = {
header: "Personalized Ink Products",
imageArray: [
'ink-1.jpg',
'ink-2.jpg',
'ink-3.jpg',
'ink-4.jpg'
]
};
}]);
//my directive in app.js
app.directive('pictureGallery', function () {
return {
templateUrl: 'directives/picturegallery.html',
replace: true,
scope: {
inkObject: '='
}
}
});
//the template
<div class="top-space">
<h1>{{ inkObject.header }}</h1>
<div class="row">
<div class="col-xs-6 col-sm-4 col-md-4" ng-repeat="image in {{ inkObject.imageArray }}">
<a href="img/{{image}}" target="_blank">
<img ng-src="img/{{image}}" width="200px" height="200px"
class="img-responsive img-thumbnail bottom-space">
</a>
</div>
</div>
</div>
//the view
<picture-gallery ink-object="ink"> </picture-gallery>
你的指令应该:
return {
....
restrict : 'E', // Element name
....
}
默认值为 'A'
(属性)
在模板中,ng-repeat的用法
< ... ng-repeat="image in inkObject.imageArray" ...>
不需要{{ }}
我认为问题出在ng-repeat
部分,您可以参考 plnkr:http://plnkr.co/edit/rPi20W9AVnJL6BGS1jEh?p=preview
我刚刚更换了
ng-repeat="image in {{ inkObject.imageArray }}"
跟
ng-repeat="image in inkObject.imageArray"
它奏效了。
事实证明,就像两位评论者建议的那样,我需要去掉括号,即{{inkObject.imageArray}}应该是inkObject.imageArray。 但是,当有人建议时,我已经尝试过了,起初它不起作用。 我意识到我的浏览器正在缓存指令中的数据,因此我所做的编辑没有显示在屏幕上。 显然,这经常发生在 AngularJs 中的指令中。 所以,要小心! 一旦我意识到这一点,我就将一个查询字符串添加到 templateUrl 的末尾,然后我实际上可以看到我对指令所做的编辑,并看到我所要做的就是删除括号。
相关文章:
- jQuery-检测选择对象是否添加或删除了选项
- 如何通过Fabric.js只点击实际内容来选择对象
- j查询选择器不选择对象
- 在选择对象中使用多个 add() 命令
- 如何使用 jQuery 克隆选择对象
- 用Javascript创建一个动态选择对象
- IndexedBD从上到下选择对象
- 当您已经选择对象时,如何在jQuery中获取直属子项
- 如何打开窗口并在该窗口中选择对象
- Fabricjs-Can'不要在fabric.util.enlivenObjects之后选择对象
- 从管线中选择“对象”“角度参数”
- 在选择对象中输入文本
- 选择对象值
- 从 javascript 对象数组中选择对象的子集
- 如何将大量项目添加到 HTML 选择对象
- 根据选项值匹配选择对象变量
- 在更改函数后使用 jQuery 选择对象,修改了需要选择的元素的 html 结构
- 使用变量中的数字动态选择对象
- 随机选择对象
- 正交摄影机和使用光线投射选择对象