如果变量为true,我需要显示我的离子应用程序的开始视图,如果变量为false,我需要显示另一个视图,所以我需要知道我是否可以从控制器获取参数并在app中使用它。 JS:
if (parameter===true)
{
$urlRouterProvider.otherwise('/app/inicio');
}else {
$urlRouterProvider.otherwise('/app/inicio2');
}

有什么建议吗?
答案 0 :(得分:1)
这个答案可能不是供应商的最佳选择,但它可以满足您的需求。
Ionic app状态在模块配置块中定义,在配置块中没有控制器,没有服务,没有工厂,这些都没有被实例化。在配置块中(在常量旁边)实例化的唯一角度对象是提供者。因此,您可以创建一个自定义提供程序,它可以为您提供参数,该参数将告诉您在应用程序启动时向用户显示哪个视图。以下是创建提供程序的方法:
app.provider('mainView', function MainViewProvider() {
var someCondition = false;
this.getCurrentMainView = function() {
if(someCondition)
return "/app/inicio";
else {
return "/app/inicio2";
}
};
//return a dummy factory that will never be used or injected
this.$get = ["nullService", function(){return null;}];
});
然后在您的配置块中,注入提供程序并使用getCurrentView
函数获取导航到的URL
app.config(function($stateProvider, $urlRouterProvider, mainViewProvider) {
$urlRouterProvider.otherwise(mainViewProvider.getCurrentMainView());
});