我可以把一个参数从控制器传递到app.js吗
Can i pass a parameter from controller to app.js?
如果变量为true,我需要显示我的ionic应用程序的启动视图,如果变量为false,则需要显示另一个视图,所以我需要知道是否可以从控制器获取参数并在app.js:中使用它
if (parameter===true)
{
$urlRouterProvider.otherwise('/app/inicio');
}else {
$urlRouterProvider.otherwise('/app/inicio2');
}
有什么建议吗?
这个答案可能不是提供商的最佳用途,但它会满足您的需求。
Ionic应用程序状态在模块配置块中定义,在配置块中没有控制器,没有服务,没有工厂,这些都还没有实例化。配置块中实例化的唯一角度对象(除了常量)是提供程序。因此,你可以创建一个自定义提供程序,它可以为你提供参数,告诉你在应用程序启动时向用户显示哪个视图。以下是如何创建提供者:
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());
});
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 从控制器返回后Ajax启动事件激发
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 如何在单击复选框后调用控制器方法
- 在控制器和数据对象之间同步数据
- 将Javascript数组发送到控制器ASP.NET MVC
- 角度控制器结构
- 如何在Jquery中发布后将值从视图返回到控制器
- 将值从html传递到AngularJS控制器
- 我可以把一个参数从控制器传递到app.js吗
- angularjs-如何调用app.controller中的另一个控制器
- 如何将控制器源代码从app.js移动到angular项目中所需的文件夹位置
- AngularJS - HTTP请求在控制器中发出预飞行请求,而不是在app.js中
- 多个带有自己控制器的app .js文件
- 试图在angularjs中使用控制器,当从app.js中取出控制器代码并放入控制器文件时出错
- AngularJS控制器在ng-app不相邻时不显示数据
- Uncaught ReferenceError: app没有在控制器、模块和路由中定义
- 在Meteor App中控制器应该放置的位置
- 如何在angularjs中从app.js内部的控制器定义变量