1
我使用$ http.get来获取授权和用户详细信息,以便我可以显示用户名而不是登录按钮。
.directive("plunkerUserPane", ["collectionsManager", function(collectionsManager) {
var getAuth = function($http) {
$http.get('/user/auth').success(function(response) {
if (response.isAuth) {
return 'user.html';
} else {
return 'userPane.html';
}
});
};
return {
restrict: "E",
replace: true,
template: '<div ng-include src="userPane.getTemplate()"></div>',
controllerAs: "userPane",
controller: ["$scope", "$http", "login", "visitor", function($scope, $http, login, visitor) {
this.visitor = visitor;
this.getTemplate = function() {
var template = 'userPane.html';
template = getAuth($http);
return '/components/userPane/' + template;
}
this.showLoginWindow = function() {
login.open();
};
}]
};
}])
当获取请求接收到数据时,默认观察者以及启动和无限循环再次调用该数据。如何禁用它们或以任何其他方式解决此问题。
它几近完美的,但它是引发此错误 'GET HTTP://本地主机:8080/userPane.html 404(未找到)' –