gpt4 book ai didi

javascript - AngularJs - 在 Controller 中的 $http 调用中设置 'this' 对象?

转载 作者:行者123 更新时间:2023-11-28 01:02:32 35 4
gpt4 key购买 nike

我已经将一些 Angular Js Controller 代码从使用 $scope 对象 t“ Controller 作为语法与此”进行了切换。

但是,我无法完全得到在我的 Controller 中正确更新“this”的 promise 。

例如,在本例中,我正在进行 $http 调用,尽管调用成功,但 myProperty 并未更新。

   <div ng-controller="MyController as controller">
{{controller.myProperty}}
</div>

<script type="text/javascript">
function MyController($http) {
this.myProperty = "First";
this.myMethod = function(){
this.myProperty = "Second";
$http.get("someUrl.html").success(function(){
this.myProperty = "Third";
});
};
this.myMethod();
};
</script>

预期结果 - “第三”,实际结果 - “第二”

最佳答案

您需要捕获 MyControllerthis 的值。

function MyController($http) {
var self = this;
self.myProperty = "First";
self.myMethod = function(){
self.myProperty = "Second";
$http.get("someUrl.html").success(function(){
self.myProperty = "Third";
});
};
self.myMethod();
};

问题是在成功回调中 this 被赋予了不同的值。

关于javascript - AngularJs - 在 Controller 中的 $http 调用中设置 'this' 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25451861/

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