0

我用相机(Phonegap)拍摄了一些照片并将图像/网址保存在一个数组中。要显示图像,我想添加类似这样的内容(图像将显示在表格中):

<!-- language: lang-html -->
<div class='ui-block-b'><img src=" + value + "></div>";

所以我知道我需要一个指令。我的问题是了解将新图像/项目添加到数组时如何做出反应,以便我可以显示它。

我应该看阵列吗?

<!-- language: lang-js -->
angular.module('mydirectives').directive("ngImage", function ($compile) {
    return {
        template: "<div class='ui-block-b'><img src=" + {{images.image}} + "></div>",
        scope: {
        images:'='
    }
        link: function (scope, elm) {           
        scope.$watch(images, function (value) {

            // ??????
        });
        }
    };
    });
4

1 回答 1

1

你需要一个指令吗?您可以使用内置指令执行此操作:

<div data-ng-repeat="item in images" class="ui-block-b"><img data-ng-src="item.image"></div>

ngRepeat 观看图像。你只需要 images.push({image: 'newUrl', imageType: 'A'})。此外,如果您只是有条件地添加类,那么您可以执行以下操作:

<div data-ng-repeat="item in images" data-ng-class="{'ui-block-b': item.imageType == 'B', 'ui-block-a': item.imageType == 'A'}"><img data-ng-src="item".image></div>

如果你仍然想用你自己的指令来做,那么你想要的是观看一个集合 $scope.$watchCollection 这可能有点复杂。您也可以尝试仅查看集合的长度属性。

于 2013-06-18T21:33:54.253 回答