我是 AngularJS 的新手,对 JavaScript 不太熟悉。我正在尝试使用 AngularJS v1.3.15 制作一个简单的应用程序。
我有这个 Controller :
var app = angular.module('game', [])
app.controller('SimpleController', ['market_data', function(market_data) {
this.city_name = "City";
market_data.success(function(data) {
console.log(data.city_name);
this.city_name = data.city_name;
});
}]);
这个 View :
<div ng-controller="SimpleController as simple" >
<h1>Hello {{simple.city_name}}!</h1>
</div>
城市名称行不会更改默认值:City
。
据我所知,market_data
服务似乎运行良好。我对 console.log
的调用打印出我期望服务返回的字符串。因此,data.city_name
包含正确的信息,但 this.city_name
不会更新 Controller 。
将此数据输入 Controller 以便其显示在我的 View 中的最佳方法是什么?
最佳答案
对this
使用局部变量。 vm
(viewmodel)常用。
var app = angular.module('game', [])
app.controller('SimpleController', ['market_data', function(market_data) {
var vm = this;
vm.city_name = "City";
market_data.success(function(data) {
console.log(data.city_name);
vm.city_name = data.city_name;
});
}]);
关于javascript - AngularJS:如何将数据从服务传输到 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29808633/