【发布时间】:2014-08-11 20:52:05
【问题描述】:
使用angular-ui-router,一个用于angular 的外部路由插件找到here,我试图了解嵌套命名视图是如何工作的。我让最初的演示工作正常,但尝试进行一些修改,比如这样;
$stateProvider
.state('default', {
url: "/default",
views: {
"viewA" : { templateUrl: "angular/partials/default.A.html" },
"viewB" : { templateUrl: "angular/partials/default.B.html" }
}
})
.state('state1.list', {
url: "/state1list",
views: {
"viewAList" : {
templateUrl: "angular/partials/state1.list.html",
controller: function($scope) {
$scope.items = ["A", "List", "Of", "Items"];
}
}
}
});
我的想法是我将列表内容设置为嵌套在default.A.html 文件内的named view。
错误
我收到的错误信息是这样的;
错误:无法从状态“默认”解析“state1.list”
HTML
html 是这样的;
index.html
<div ui-view="viewA"></div>
<div ui-view="viewB"></div>
angular/partials/default.A.html
<h1>Default.A.HTML</h1>
<hr />
<a ui-sref="state1.list">Show List</a>
<div ui-view="viewAList"></div>
angular/partials/state1.list.html
<h3>List of State 1 Items</h3>
<ul>
<li ng-repeat="item in items">{{ item }}</li>
</ul>
angular/partials/default.B.html
<h1>Default.B.HTML</h1>
<hr />
【问题讨论】:
-
经过进一步测试,似乎路由名称可能是问题所在。当我将路线更改为
default.list时,它起作用了。任何人都可以确认/详细说明这一点吗?
标签: angularjs