簡體   English   中英

角度控制器中的$ scope變量未在HTML中顯示

[英]$scope variable in angular controller not getting displayed in HTML

我試圖在單擊時將clicked_user顯示到聊天窗口。 但是,即使我在控制台中看到此值,也永遠不會在聊天窗口中更新它。

控制器代碼段-

 $(document).on('click', '.chatwin', function (e)
    {
    $scope.clicked_user = $(e.target).text();
     console.log("USER "+ $scope.clicked_user);
                $('#chat_window_1').show();
            });

HTML代碼

 <div class="popup-head">
  <div class="popup-head-left pull-left"   ><img src="assets/images/AshaLogo.jpg" alt="User Image" >{{clicked_user}}</div>
<div class="popup-head-right pull-right"  style="text-align: right;"><div id="circle_green"></div></div>
</div>

另一個觀察結果是,如果我在函數外部初始化該值,例如,如下所示,它將起作用。 你能告訴我我在做什么錯嗎?

控制器代碼

$scope.clicked_user =“DUMMY”

 $(document).on('click', '.chatwin', function (e) {
                //$(this).parent().parent().parent().parent().remove();
                $scope.clicked_user = $(e.target).text();
                console.log("USER "+ $scope.clicked_user);
                $('#chat_window_1').show();
            });

嘗試這樣:

$scope.$apply(function () {
    $scope.clicked_user = $(e.target).text();
});

$scope.$apply調用digest並通知angular某些更改。

添加$ scope。$ apply(); 如下圖所示。

$scope.clicked_user=[];
                $(document).on('click', '.chatwin', function (e) {
                //$(this).parent().parent().parent().parent().remove();
                $scope.clicked_user= $(e.target).text();
                $scope.$apply();
                console.log("USER "+ $scope.clicked_user);
                $('#chat_window_1').show();
            });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM