如果$get
像这样配置:
配置:
.config( function( authProvider ){
authProvider.initial();
})
提供者:
.provider('auth', function() {
this.initial = function() {
obj.user = JSON.parse( localStorage.getItem('user') );
}
var obj = {
get: function() {
return this.user;
},
set: function( userData ) {
this.user = userData;
localStorage.setItem( 'user', JSON.stringfiy( userData ) );
},
send: function( data ) {
$http.post( 'user/' + data )
.then( res => { // Arrow Functions
this.set(res.data);
};
},
};
this.$get = function( $http ) {
return obj;
}
})
我收到$http is not defined
错误 -send()
打电话时
如果是这样:
.provider('auth', function() {
// This method will not work !
this.initial = function() {
obj.user = JSON.parse( localStorage.getItem('user') );
}
this.$get = function( $http ) {
return
{
get: function() {
return this.user;
},
set: function( userData ) {
this.user = userData;
localStorage.setItem( 'user', JSON.stringfiy( userData ) );
},
send: function( data ) {
$http.post( 'user/' + data )
.then( res => { // Arrow Functions
this.set(res.data);
};
}
};
}
})
我没有错误
但this.initial()
不起作用。
因为它无法访问$get
方法返回的对象..
所以我的问题是:
为什么在第一个例子中给了我一个错误?
我该怎么做?
非常感谢 !