2016-12-29 77 views
0

我試圖在會話中獲取信號時綁定標籤中的值。 第一次它顯示標籤值,但當我第二次發送信號時,它顯示空白標籤,並沒有更新值。從控制器更新時,ng-bind值沒有更新第二次更新

代碼我使用

HTML

<div class="modal-content"> 
      <h4>Incoming Call From...</h4> 
      <label class="alignCenter incomingReason">{{requestedCall.reason}}</label> 
      <label class="alignCenter">{{requestedCall.hname}}</label> 
</div> 

控制器

session.on("signal:chat", function (event) {    
        var data = JSON.parse(event.data); 
        $scope.requestedCall.reason = data.complain_name; 
        $scope.requestedCall.hname = data.username; 
        $scope.PlayRingtone(); 
        $scope.$apply(); 
        $scope.showModel();               
    }); 

當我發送的信號,我在VAR data = JSON.parse(event.data);

獲取數據,我總是不得不使用$範圍。$ apply()另外明智的是,它並沒有爲第一次綁定值,但第二次我t根本不起作用。

我試過$超時,$消化,但沒有任何作品,任何幫助將不勝感激。

+0

這對您指定您正在使用的Angular的版本會有所幫助。 –

+0

嗨,我正在使用angular v1.4.3 – Vikas

回答

0

當我們超出了角度,事情不起作用。所以如果你在jQuery或其他庫中做某些事情,角將不知道已經改變了什麼。爲此,您必須明確告訴使用$ apply或$ digest的角度

$scope.$apply(function() { 
    $scope.requestedCall.reason = data.complain_name; 
    $scope.requestedCall.hname = data.username; 
    $scope.PlayRingtone(); 
    $scope.showModel(); 
}); 

讓我知道它是否有效!

+0

,正如我在我的問題中所說的,我已經使用$ apply和$ digest,它只能在第一次使用,並且不會第二次使用 – Vikas