您可以在控制器之间使用发布/订阅方法。
查看此文档以获取一些很好的示例。
基本上,您希望在用户登录时发布带有一些数据的消息。登录后的控制器将能够收听或订阅该消息。当它收到消息时,它将能够运行您在回调中告诉它的任何代码。
一个控制器将发布:
// gather some user data with successful login like var id = result.user.id
supersonic.data.channel('loginSuccess').publish({ userid: id });
另一个控制器将监听:
supersonic.data.channel('loginSuccess').subscribe( function(data) {
$scope.id = data.userid;
// load some data based on user id
});
您也可以预加载视图。这可能有助于加快速度。如果不这样做,您可能会在视图推送之间看到一个微调器。在structure.coffee
配置文件夹中:
preloads: [
{
id: "viewIdYouSet"
location: "nameOfModule#view"
}
]
登录完成后,您可以找到预加载的视图并将其推送到堆栈:
supersonic.ui.views.find("viewIdYouSet").then( function(startedView) {
supersonic.ui.layers.push(startedView);
});
希望这可以帮助。