我试图在单击时将 clicked_user 显示到聊天窗口。但是这个值永远不会在聊天窗口中更新,即使我在控制台中看到它也是如此。
Controller 代码片段-
$(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>
另一个观察结果是,如果我在函数外部初始化此值,例如如下所示,它会起作用。你能让我知道我在这里做错了什么吗?
Controller 代码
$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 某些内容已更改。
关于javascript - Angular Controller 中的 $scope 变量未在 HTML 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35342109/