指令中的值即使在输入更改后也不会更改

时间:2016-09-07 10:07:38

标签: angularjs angularjs-directive

我的主控制器代码如下

ERR_SSL_PROTOCOL_ERROR

我的主控制器的模板如下

var self = this;
self.info = {};

Restangular.all('detail').post(this.postbody).then(function(data){
        // this.items = data.tiles;
        self.items = Restangular.copy(data);        
        self.info = self.items.pd;        
        console.log(self.info);

    });  

在我的指令中,我使用了@进行单向绑定并显示了值,但是当新值更新时,从restangular调用后不显示这些值,并且这些值不会在directives属性中更新。我如何提前感谢。

注意:

<div ng-controller="prddetail as prd">
  <pdinfotile dat=prd.info></pdinfotile>
<div>

1 个答案:

答案 0 :(得分:1)

您的绑定值设置错误。

@用于传入字符串等。

=用于双向绑定 - 现在考虑强制单向流程的hacky。

&LT;是你正在寻找的单向绑定!

例如:

angular.module('brandmarshal') .directive('pdinfotile',function () { return{ scope:{ dat:'<' //<------single way binding or try a = for 2 way binding }, restrict : 'E', templateUrl:'../../templates/pd/pd_info.html', controllerAs:'ctrl', bindToController:true, controller: function() { var self = this; self.obj = JSON.parse(self.dat); console.log(self.obj); } } });