[英]$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.