我的离子应用程序的app.js文件包含我所有的州,工厂和指令已经相当大。到目前为止,有31个州占据了189条线,这是一个非常令人瞩目的问题 我开始怀疑,有没有办法将我的状态存储在一个单独的文件中,然后将该文件包含在我的app.js文件中?
var myApp = angular.module('myApp', ['ionic','ngCordova','ionic.service.core','ionic.service.push','ngSanitize']);
myApp.config(function($stateProvider, $urlRouterProvider) {
$stateProvider.
state('foo', {
url : '/foo',
cache : false,
templateUrl : 'templates/foo.html',
controller : 'foo'
}).
// 29 other states
state('bar', {
url : '/bar',
cache : false,
templateUrl : 'templates/bar.html',
controller : 'bar'
});
$urlRouterProvider.otherwise('/foo');
}
// other stuff
答案 0 :(得分:1)
您可以使用以下内容创建文件app.route.js
myApp.config(function($stateProvider, $urlRouterProvider) {
$stateProvider.
state('foo', {
url : '/foo',
cache : false,
templateUrl : 'templates/foo.html',
controller : 'foo'
}).
// 29 other states
state('bar', {
url : '/bar',
cache : false,
templateUrl : 'templates/bar.html',
controller : 'bar'
});
$urlRouterProvider.otherwise('/foo');
}
并将他包含在index.html
下一行的app.js
答案 1 :(得分:0)
您可以为此创建一个新的Angular模块。 Angular Seed是将事情分离到自己的模块中的一个很好的例子:https://github.com/angular/angular-seed
在较高级别,您将创建一个新的.js文件(state.js)并在其中:
<强> state.js 强>
angular.module('myApp.states', []).config(
//add your $stateProvider code here.
);
然后在索引文件中引用state.js并将新模块添加到模块列表
<强>的index.html 强>
<html>
<body>
<!-- do stuff here -->
<script src="app.js"></script>
<script src="state.js"></script>
</body>
</html>
<强> App.js 强>
angular.module('myApp', [
'myApp.state'
])