Angularjs指令属性不能等待加载数据

时间:2015-01-30 16:29:10

标签: angularjs data-binding

我有一个显示'分享到社交网络菜单'的指令。它在普通页面中工作正常但是当我在灯箱上使用它(在点击项目后获取它的数据)时,它无法将属性传递给共享菜单指令而没有任何错误。变量是空的。

<item-actions data-itemid="{{popup.id}}"></item-actions>

指令:

var itemActions_tmpl = 
    '<div>' +
        // share button
        '<div class="share-w">' +
            '<button type="button" class="button radius share" value="share" >' +
            '</button>' +
            '<ul>' +
                '<li><a target="_blank" data-ng-href="{{::fblink}}">Facebook</a></li>' +
                '<li><a target="_blank" data-ng-href="{{::gplink}}">Google +</a></li>' +
                '<li><a target="_blank" data-ng-href="{{::twlink}}">Twitter</a></li>' +
            '</ul>' +
        '</div>' +
    '</div>';

jApp.directive('itemActions', ['APP_CONFIG', function(APP_CONFIG){
    return {
        replace:true,
        scope: {},
        restrict: 'AE',
        template: itemActions_tmpl,
        link: function(scope, Elem, Attrs, controller) {

            scope.fblink = 'https://www.facebook.com/sharer/sharer.php?u=' + APP_CONFIG.BASE_ITEM_URL + Attrs.itemid;
            scope.gplink = 'https://plus.google.com/share?url=' + APP_CONFIG.BASE_ITEM_URL + Attrs.itemid;
            scope.twlink = 'http://twitter.com/home?status=' + APP_CONFIG.BASE_ITEM_URL + Attrs.itemid;
        }
    };
}]);

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我使用了$ q并解决了问题。只是等待数据然后打开弹出窗口。