有没有办法使用UI-ROUTER
提供控制器文件的路径这是我的代码
var kraveln = angular.module('kraveln', ['ui.router' , 'ngMessages' , 'ngDialog' ]);
kraveln.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/home');
$stateProvider
// for home_page
.state('home', {
url: '/home',// if home page means
views: {
'':
{
templateUrl: 'app/views/home_search_page.html',
controller: 'app/views/sample_controller.js' // sample controller for loading file.
},
'header_part':
{
templateUrl: 'app/views/header_one.html' //load first header
},
'footer_part':
{
templateUrl: 'app/views/footer.html' //load second footer
}
}
})
就像模板网址一样,我们可以加载我试过的控制器网址,但是无法做到这一点
答案 0 :(得分:1)
首先,Angularjs使用相对地址机制从目录中选择HTML模板。
对于控制器,您需要在index.html中注册/包含所有JS文件。
<script src="app/views/sample_controller.js" />
//....Same for others...
并将其包含在路由器或类似的状态中。
controller: 'SampleController',
希望,您的查询已解决。
答案 1 :(得分:0)
是的,您可以为某个州的每个视图提供特定的控制器。
.state('home',{
url: '/home',
views: {
'': {
templateUrl: 'app/main/main.html',
controller: 'MainController',
controllerAs: 'main'
},
'header': {
templateUrl: 'app/main/header.html',
controller: 'HeaderController',
controllerAs: 'header'
},
'footer': {
templateUrl: 'app/main/footer.html'
}
}
})
答案 2 :(得分:0)
您可以使用In [1]: for e in [1,2,3]:
...: print(e)
...: else:
...: print("else")
...:
1
2
3
else
模块进行延迟加载。
检查样品,https://oclazyload.readme.io/docs/with-your-router
oclazyload