我正在看一下角度1.2源代码,我只是好奇为什么有些函数以两个美元符号为前缀.这是某种惯例吗?
我想要做什么当用户访问index.html页面时,我需要登录模块做两件事:
我需要这个来检查用户是否经过身份验证(我认为我已经开始使用"function authService")如果用户有一个有效的令牌然后将ui-view更改为dashboard/dashboard.html并且密钥无效或者根本没有密钥然后将login/login.html加载到ui-view中.
一旦他们成功登录,我希望他们被路由到"dashboard/dashboard.html"
这是我的登录脚本:
function authInterceptor(API) {
return {
request: function(config) {
if(config.url.indexOf(API) === 0) {
request.headers = request.headers || {};
request.headers['X-PCC-API-TOKEN'] = localStorage.getItem('token');
}
return config;
}
}
}
function authService(auth) {
var self = this;
self.isAuthed = function() {
localStorage.getItem('token');
}
}
function userService($http, API) {
$http.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;';
$http.defaults.transformRequest = [function(data) {
return angular.isObject(data) && String(data) !== '[object File]' ? param(data) : data;
}];
var self = this;
self.login = function(username, pwd, ctrl) {
ctrl.requestdata = …
Run Code Online (Sandbox Code Playgroud) 如果$ http.post返回特定的错误代码,你能告诉我重定向到另一个页面的正确方法吗?
只是为了添加上下文,如果用户未登录或未授权使用API,我想重定向到另一个页面.
function getData(filter) {
var deferred = $q.defer();
var data = JSON.stringify(filter);
$http.post('/myapp/api/getData', data)
.success(function (data, status, headers, config) {
deferred.resolve(data);
})
.error(function (error) {
deferred.reject(error);
});
return deferred.promise;
}
Run Code Online (Sandbox Code Playgroud) 怎么可能URL
从路由参数中获取哈希片段$routeChangeStart
.
$scope.$on('$routeChangeStart', function (event, next, current) {
// trying to get the url hash fragment from <next> param here
// e.g. to_url_function(next) -> '/my_path/1'
});
Run Code Online (Sandbox Code Playgroud)
接收URL hash
片段很容易使用,$locationChangeStart
但这对我来说不是一个选择.
如果用户尝试保留未保存的已编辑表单,则会弹出一个消息框
"此页面要求您确认是否要离开 - 您输入的数据可能无法保存.请保留页面并保持在页面上"
我们可以通过浏览器的一些特殊功能来调用此确认框吗?我想在AngularJS应用程序中实现它
我有一个angularjs SPA应用程序,其index.html页面作为主模板,其余视图作为子视图加载到ng-view标签中.我正在为网站使用twitter引导程序模板,因此模板的登录页面与其他页面不同.有没有办法拥有多个主模板页面,一个用于登录页面,另一个用于其他所有页面?我一直试图弄清楚如何在路由提供程序中指定不同的页面,但我无法弄清楚如何指定页面而不是部分视图作为templateURL,或者甚至可能.
我是angularjs的新手,所以我不确定处理这种情况的最佳方法是什么.
谢谢