0

我从主控制器中的 API 获取大图像。

我有一个指令可以成功让我知道每个图像何时加载:

app.directive('imageonload', function() {
    return {
        controller: "mainController",
        restrict: 'A',
        link: function(scope, element, attrs) {
            element.bind('load', function() {   
                alert("loaded");
            });
        }
    };
});

我用一个简单的方法创建了一个加载屏幕

$scope.loading = true;

在我的主控制器中。

如果我在指令中将加载设置为 false (替换警报),它似乎只影响子范围而不影响父范围(根据 Batarang 扩展)。

包括我:

scope: {
        loading: '@'
},

在我的指令中,但它仍然没有删除加载屏幕。

这是我的 HTML:

<div class="images" imageonload loading="loading">

我究竟做错了什么?谢谢你。

4

1 回答 1

0

@设置单向数据绑定。因此,如果父母改变了孩子也会改变,但不是相反。

使用=会给你两种方式绑定。因此,当您的指令更改时loading,该更改将反映在父范围上。

因此你想要:

scope: {
   loading: '='
},
于 2013-11-15T00:52:58.440 回答