注意:请不要将此标记为重复。我把这个注释放在第一行,因为我知道这个问题已经被问了很多次。 但是我在没有找到解决方案的情况下完成了大部分工作。
以下是我的app.js的状态配置:
.config(function($stateProvider, $urlRouterProvider) {
// Ionic uses AngularUI Router which uses the concept of states
// Learn more here: https://github.com/angular-ui/ui-router
// Set up the various states which the app can be in.
// Each state's controller can be found in controllers.js
$stateProvider
.state('intro', {
url: "/intro",
templateUrl: "intro.html",
controller: 'IntroCtrl'
})
.state('accedituser', {
url: '/user',
//templateUrl : 'templates/followerSliding.html',
templateUrl: 'tab-account.html',
controller: 'EditUserCtrl'
})
.state('welcome', {
url: "/welcome",
templateUrl: "partials/welcome.html",
controller: 'welcomeCtrl'
})
.state('index', {
url: '/index',
templateUrl: 'slidingTabs.html',
controller: 'UserCtrl'
})
.state('index.account', {
url: '/account/:userid',
views: {
'index-account': {
templateUrl: 'tab-user.html',
controller: 'UserCtrl'
}
}
})
.state('index.home', {
url: '/home',
views: {
'index-home': {
templateUrl: 'tab-post-list.html',
controller: 'PostsCtrl'
}
}
})
.state('index.post-detail', {
url: '/post/:id',
views: {
'index-posts': {
templateUrl: 'post-detail.html',
controller: 'PostsCtrl'
}
}
})
.state('index.addpost', {
url: '/addpost/:id',
views: {
'index-addpost': {
templateUrl: 'add-post.html',
controller: 'myCtrl'
}
}
})
.state('index.image', {
url: '/image/:id',
views: {
'index-image': {
templateUrl: 'image.html',
controller: 'myCtrl'
}
}
})
.state('index.chats', {
url: '/chats',
views: {
'index-chats': {
templateUrl: 'tab-clomastocash.html',
controller: 'ccCtrl'
}
}
})
.state('index.chat-detail', {
url: '/chats/:chatId',
views: {
'index-chats': {
templateUrl: 'chat-detail.html',
controller: 'ccDetailCtrl'
}
}
})
.state('index.collections', {
url: '/collections',
views: {
'index-collections': {
templateUrl: 'tab-collections.html',
controller: 'CollectionsCtrl'
}
}
})
.state('index.vendors', {
url: '/vendors',
views: {
'index-vendors': {
templateUrl: 'tab-vendors.html',
controller: 'VendorsCtrl'
}
}
})
.state('index.vendor-detail', {
url: '/vendors/:vendorId',
views: {
'index-vendors': {
templateUrl: 'vendor-detail.html',
controller: 'VendorsDetailCtrl'
}
}
})
.state('index.search', {
url: '/search',
views: {
'index-search': {
templateUrl: 'tab-search.html',
controller: 'SearchAllCtrl'
}
}
})
.state('search.stores', {
url: '/stores',
views: {
'search-stores': {
templateUrl: 'tab-vendors.html',
controller: 'SearchAllCtrl'
}
}
})
.state('search.people', {
url: '/people',
views: {
'search-people': {
templateUrl: 'tab-people.html',
controller: 'SearchAllCtrl'
}
}
})
.state('search.products', {
url: '/products',
views: {
'search-products': {
templateUrl: 'tab-vendors.html',
controller: 'SearchAllCtrl'
}
}
})
// if none of the above states are matched, use this as the fallback
// $urlRouterProvider.otherwise('/tab/post');
$urlRouterProvider.otherwise('/index/home');
//$urlRouterProvider.otherwise("/welcome");
});
我有路径 index.account
的这个特殊问题我正在尝试从 search.people 中加载它,如下所示:
<a class="tab-item" href="#/index/account/{{person.ID}}" ></a>
URl更改, UserCtrl 中的代码,也是 index.account 的控制器也会被调用。但是templateUrl没有被加载。
我尝试在ng-click中调用 $ state.go 而不是href,但不起作用。
如果我在任何'索引'中都这样做。路线,它的工作原理。我认为加载'索引'有一些问题。来自'搜索'的路线。
请帮忙。我可能在这里做了一些概念错误的事情。
编辑1 app.js位于'js'文件夹&amp;所有html都在'templates'文件夹中
我正在使用模板缓存,因此我的模板合并到一个templates.js文件中,这就是为什么在我的 TemplateUrl 中我没有前缀'templates /'
这是我的目录结构: 目录E:\ programming \ Nodejs \ ion2 \ www
09/25/2015 11:06 PM <DIR> .
09/25/2015 11:06 PM <DIR> ..
10/04/2015 10:57 AM <DIR> css
09/16/2015 01:21 PM <DIR> dist
09/06/2015 08:01 PM <DIR> fonts
09/06/2015 08:01 PM <DIR> img
09/15/2015 01:59 PM 170 index.html
10/10/2015 01:33 PM <DIR> js
09/06/2015 08:01 PM <DIR> lib
08/02/2015 03:17 PM 99 logoutcallback.html
09/25/2015 11:06 PM 7,134 main.html
08/02/2015 03:17 PM 137 oauthcallback.html
09/06/2015 08:01 PM <DIR> partials
08/20/2015 10:22 AM 27,844 selection.json
10/10/2015 12:49 PM <DIR> templates
08/02/2015 03:17 PM 318 web.config