gpt4 book ai didi

javascript - 使用 vm 代替 $scope - Angular $http

转载 作者:行者123 更新时间:2023-11-28 18:06:40 27 4
gpt4 key购买 nike

我在转换一些 Angular 代码时遇到问题。目前,它使用 Angular 的 $http 服务从另一个文件获取数据并将其显示在页面上。我希望它仍然这样做,但使用 vm 而不是 $scope。这是我徒劳尝试这样做的一个例子:

HTML

<h1>{{vm.welcome}}</h1>

Javascript

var app = angular.module('myApp', []);
app.controller('myCtrl', function() {
$http.get("welcome.htm")
.then(function(response) {
var vm = this;
vm.welcome = response.data;
});
});

另外,我最初是从 w3schools' Angular tutorial 获得此代码的。 .

最佳答案

在 Promise 之外和 Controller 内部添加 var vm = this;

var app = angular.module('myApp', []);
app.controller('myCtrl', function($http) {
var vm = this;
$http.get("welcome.htm")
.then(function(response) {
vm.welcome = response.data;
});
});

在 html 中使用 Controller 作为引用 Controller

<div ng-controller="myCtrl as vm"> 
<h1>{{vm.welcome}}</h1>
</div>

引用this获取有关this如何在 Controller 中工作的更多详细信息

关于javascript - 使用 vm 代替 $scope - Angular $http,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42443248/

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