javascript - 利用controllerAs 为何没有输出
本文介绍了javascript - 利用controllerAs 为何没有输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
RT
目标是模拟异步请求利用服务,将hellos输出
var myApp = angular.module('myApp', []);
myApp.controller('MyCtrl',['helloWorld',MyCtrl]);
myApp.provider('helloWorld', function() {
var _name = 'Default';
this.$get = function($q) {
return {
sayHello: function() {
var deferred = $q.defer()
setTimeout(function() {
if (_name !== 'Default') {
deferred.resolve('Hello, ' + _name + '!');
} else {
deferred.reject('No changes');
}
}, 3000);
return deferred.promise;
}
}
};
this.setName = function(newName) {
_name = newName;
}
});
myApp.config(function(helloWorldProvider){
helloWorldProvider.setName('World');
});
function MyCtrl(helloWorld) {
helloWorld.sayHello().then(function(text){
this.hellos = text
},function(msg){
this.hellos = msg
})
}
此时将hellos
输出
<div ng-app="myApp">
<div ng-controller="MyCtrl as ctrl" ng-bind="ctrl.hellos"></div>
</div>
控制台没有报错,视图也不显示,请问是什么原因?
解决方案
低级错误……
function MyCtrl(helloWorld) {
var self = this
helloWorld.sayHello().then(function(text){
self.hellos = text
},function(msg){
self.hellos = msg
})
}
这篇关于javascript - 利用controllerAs 为何没有输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文