所以我尝试制作嵌套状态,到目前为止没有运气。
到目前为止我所得到的是
search.route.js
angular.module('myApp')
.config(function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.when('/search', '/search/model');
$stateProvider
.state('search', {
abstract: true,
url: '/search'
});
});
model.route.js
angular.module('myApp')
.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state('search.model', {
url: '/model',
templateUrl: 'app/search/model/model.html',
controller: 'modelController'
});
});
如果我使用searchModel
作为州名,/search/model
作为网址,而不是search.model
和/model
则可以正常使用。
修改 好的,我第一次不清楚^^
最初我的代码看起来像这样:
model.route.js
angular.module('myApp')
.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state('searchModel', {
url: '/search/model',
templateUrl: 'app/search/model/model.html',
controller: 'modelController'
});
});
这很好用。当我转到网址/search/model
时,html文件和控制器一起加载。
但后来我将其更改为我问题开头可见的代码。现在,当导航到URL时,它不会与控制器一起加载到html中。我没有收到任何错误信息或类似的信息,这些信息可能会让我知道为什么它不会加载。
答案 0 :(得分:1)
您需要处于抽象状态的<ui-view>
才能加载子状态。
尝试:
$stateProvider
.state('search', {
abstract: true,
url: '/search'.
template: '<ui-view></ui-view>'
});