Javascript AngularJs帮助,在传递到隔离作用域的对象中选择数组时遇到问题

Javascript AngularJs帮助,在传递到隔离作用域的对象中选择数组时遇到问题,javascript,angularjs,isolation,Javascript,Angularjs,Isolation,有人能告诉我我做错了什么吗?是否可以像我在这里尝试的那样对图像数组进行插值?我知道该对象正在工作,因为inkObject.header属性可以很好地插值到页面,但数组(包含各种图像)由于某种原因无法工作。。。我不确定它是否不允许在对象中传递这样的数组,或者我只是做错了什么 谢谢 //Controller in app.js app.controller('galleryCtrl', ['$scope', '$http','$location', funct

有人能告诉我我做错了什么吗?是否可以像我在这里尝试的那样对图像数组进行插值?我知道该对象正在工作,因为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>
//app.js中的控制器
app.controller('galleryCtrl'、['$scope'、'$http'、'$location',
函数($scope、$http、$location){
$scope.ink={
标题:“个性化油墨产品”,
图像阵列:[
‘ink-1.jpg’,
“ink-2.jpg”,
‘ink-3.jpg’,
‘ink-4.jpg’
]
};
}]); 
//app.js中的我的指令
应用指令('pictureGallery',函数(){
返回{
templateUrl:'directions/picturegallery.html',
替换:正确,
范围:{
inkObject:“=”
}
}
});
//模板
{{inkObject.header}
//景色

您的指令应该:

return {
    ....
    restrict : 'E',  // Element name
    ....
}
默认值为
'A'
(属性)

在模板中,ng repeat的用法

< ...   ng-repeat="image in inkObject.imageArray" ...>
<。。。ng repeat=“inkObject.imageArray中的图像”…>

不需要
{{}

我认为问题在于
ng repeat
部分,您可以参考plnkr:

我刚换了

ng-repeat="image in {{ inkObject.imageArray }}"


它成功了。

正如两位评论者所建议的那样,我需要去掉括号,即{{inkObject.imageArray}}应该是inkObject.imageArray。然而,当有人建议的时候,我已经试过了,但一开始它不起作用。我意识到我的浏览器正在缓存指令中的数据,因此我所做的编辑没有显示在屏幕上。显然,在AngularJs指令中经常会发生这种情况。所以,小心!一旦我意识到这一点,我就在templateUrl的末尾添加了一个查询字符串,然后我就可以看到我对指令所做的编辑,并看到我所要做的就是删除括号

嘿,谢谢你的回复。尽管如此,尽管添加了restrict属性,图像仍然没有显示。我还建议通过
image
标记中的
ng src
验证图像是否确实存在于引用的路径上,或者验证引用的路径是否正确。
ng-repeat="image in inkObject.imageArray"