我知道有关如何在角度控制器之间传递数据的其他类似问题.
我想知道的是如何处理这一点.
说我有一个UserController用于登录,注册等
和一个AppController的实际应用程序功能.
UserController将是相当容易的,其他类型的独立.
但是如果应用程序需要知道用户控制器的内容怎么办?
让我们说应用视图需要隐藏/显示东西,具体取决于用户是否登录.
或者如果用户是男性或女性等等
应用程序模型是否应该保留自己的用户模型状态的副本?
例如appModel.isLoggedIn,appModel.gender等?
感觉有点多余,但同时更可测.
那么正确的方法是什么呢?
简短的答案
原文链接:https://www.f2er.com/angularjs/140489.html创建一个服务,详见Creating Services.
长答案
服务本身就是应用范围的单身人士,因此它们是完美的保持状态跨越观点,控制者&公司:
app.factory('myService',[ function () { 'use strict'; return { // Your service implementation goes here ... }; }]);
一旦您编写和注册了您的服务,您可以使用AngularJS的依赖注入功能在控制器中要求它:
app.controller('myController',[ 'myService','$scope',function (myService,$scope) { 'use strict'; // Your controller implementation goes here ... }]);
现在,在你的控制器里面,你有一个myService变量,它包含一个服务实例.在那里,您可以有一个属性isLoggedIn,表示您的用户是否登录.