gpt4 book ai didi

Javascript 对象未使用 Angular js 在 View 中更新

转载 作者:行者123 更新时间:2023-12-03 11:56:47 25 4
gpt4 key购买 nike

过去几天我一直在研究 AngularJS,现在我开始研究 javascript 对象,但遇到了困难。

我试图在 View 中表示对象的属性,然后在页面加载后更改该对象并更改 View 。即

HTML

<div ng-controller = "MainCtrl">
{{object.attribute}} //Expect A, and then B. Just get A
</div>

Javascript

app.controller('MainCtrl', ['$scope', function($scope) {    
$scope.message_object = new object("A");

$scope.replace_message = function(){ //Happens sometime after page load
alert("Replacing...");
$scope.object = new object("B");
}

}]);

function object(attribute){
this.attribute = attribute;
}

不知道我是否遗漏了什么,或者只是对框架的结构有根本性的误解。不管怎样,我们将不胜感激:)我当前的代码位于:

http://plnkr.co/edit/3fF0zSyZaIvVsYk8dvWf?p=preview

它的设计目的是在按下按键时更新对象

最佳答案

您正在更改 angularjs 上下文之外的范围变量。由于您正在对 jquery 事件进行更改,因此在更改指令中的范围变量时需要调用scope.$apply。查看我更新的 plunker

http://plnkr.co/edit/h7NLFRdp4M7TcNIn1HeY?p=preview

这是相关代码:

jQuery(document).on('keydown', function(e){

scope.$apply(function(){
scope.new_object();
});

});

关于Javascript 对象未使用 Angular js 在 View 中更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25579431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com