我正在尝试让ui-router stateProvider动态链接在使用html5链接的网站上运行。
此代码有效:Plunker1
var myapp = angular.module('myapp', ["ui.router"])
myapp.config(function($stateProvider, $urlRouterProvider, $locationProvider){
$urlRouterProvider.otherwise("/route1");
$stateProvider
.state('route1', {
url: "/route1",
templateUrl: "route1.html"
})
.state('route1.list', {
url: "/list/:id",
templateUrl: "route1.list.html",
controller: function($scope, $stateParams){
$scope.items = ["Item One", "Item Two", "Item Three", "Item Four"];
$scope.id = $stateParams.id;
}
})
})
此代码并非Plunker2
当我添加$ locationProvider.html5Mode(true);它停止工作,实际上似乎将浏览器发送到某种无限循环,我不知道为什么。
当我将此状态配置添加到我的代码库时,我得到一个错误,它试图多次加载角度。我得到了一个我的网站的嵌套视图,但没有在route.list中加载任何内容
...
<base href="/">
...
$locationProvider.html5Mode(true);
...