Angular:通过bindToController传递对象

时间:2015-12-17 16:42:50

标签: javascript angularjs

我创建了以下元素指令:

    orderApp.directive('addressBlock', function() {
        return {
            restrict: 'E',
            scope: true,
            bindToController: {
                addressType: '@',
                address: '='
            },
            templateUrl: '/pages/address-block.html',
            controllerAs: 'AddressCtrl',
            controller: 'AddressController'
        };
    });

现在我想访问AddressController中的addressType和地址值。我创建了基本函数来检查值是否通过:

  orderApp.controller('AddressController', function(){

    console.log(this);

 });

问题是“addressType”是正确的,而“address”是未定义的。

以下是我在HTML中定义指令的方法:

<address-block address-type="Ship" address="orderCtrl.order.shippingAddress"></address-block>

我错过了什么吗?或者有任何特殊的方法来传递对象数据?

更新

我发现代码有什么问题。问题是我们使用$ http get。

从服务器收到的数据初始化orderCtrl.order属性

此请求需要一些时间,在此期间,以下代码将使this.address未定义。

  orderApp.controller('AddressController', function(){

       console.log(this);

  });

从服务器收到数据后,this.address将包含实际数据。

感谢大家的帮助!

0 个答案:

没有答案
相关问题