Javascript “存放在哪里?”;“全球”;角度的视图和动作?
我正在用AngularJS构建一个应用程序,进展顺利,但我在理解在哪里以及如何编写全局代码方面遇到了问题,比如注销过程 我在右上角有一个链接,单击该链接将删除用户cookie。可能有一个共同的方法来分享代码的实际这样做?您是否设置了继承操作的控制器层次结构?做一些广播魔术?指令Javascript “存放在哪里?”;“全球”;角度的视图和动作?,javascript,angularjs,Javascript,Angularjs,我正在用AngularJS构建一个应用程序,进展顺利,但我在理解在哪里以及如何编写全局代码方面遇到了问题,比如注销过程 我在右上角有一个链接,单击该链接将删除用户cookie。可能有一个共同的方法来分享代码的实际这样做?您是否设置了继承操作的控制器层次结构?做一些广播魔术?指令 我需要一些关于如何执行此操作的帮助。您可以定义服务-类似以下内容: app.service('Auth', function() { var auth = {}; auth.loggedIn = false;
我需要一些关于如何执行此操作的帮助。您可以定义服务-类似以下内容:
app.service('Auth', function() {
var auth = {};
auth.loggedIn = false;
auth.login = function() {
auth.loggedIn = true;
};
auth.logout = function() {
auth.loggedIn = false;
};
return auth;
});
上面的代码示例取自我强烈推荐的文章。通过阅读,您将了解如何使用服务
[更新]
我相信你有两个选择如何使用这项服务。您可以在应用程序的一个控制器中使用它(就像我们在提供的文章中使用的一样),或者您可以创建一个可重用的指令
这里演示了第一个选项,其中服务被注入到最顶层的控制器中,并通过最顶层的作用域公开。子作用域原型继承自父作用域,因此您也可以在子作用域中访问服务。我昨天看到一篇很棒的文章,概述了登录内容和功能:
但是简短的回答是的,我同意,它应该在服务中-即singleton。使用服务。您可以创建一个$user或$auth服务,该服务将实际登录/注销并加载当前用户信息、权限检查等。其他服务应使用该服务来执行与用户/auth相关的操作
这也适用于其他事情。例如,如果您必须共享数据或为控制器/指令提供公共API以供使用。我认为您可以使用angular service是的,我已经创建了一个服务。但是这个服务必须从一个普通的控制器或者其他地方调用,因为注销链接在所有页面上。是的,我已经创建了这个服务。但我需要从某个地方打电话给这项服务。我是否有一个自己的控制器用于注销链接,我使用
ng controller=“LogoutController”
添加该链接,然后调用该服务或什么?只需将该服务注入控制器或指令即可使用它。请仔细阅读我提供的文章。是的,但整个问题是哪个控制者?我不想把它注入每个控制器,因为注销按钮在任何地方都可以工作。那么这个主控制器变成全局控制器了吗?那么你应该把它注入最顶层的控制器中。但是像链接一样在容器div上添加一个“主控制器”,然后通过路由服务创建另一个控制器,这样可以吗?问题是,拥有多个控制器可以吗?不仅仅是通过路由服务创建的路由。