我正在尝试用ui-router替换ngRoute,以便我可以使用多个视图
在我的模板文件中,我有<div ui-view></div>
然后在我的app文件中
angular.module('myApp', [
'ui.router',
//'signup',
'myApp.controllers',
'myApp.filters',
'myApp.services',
'myApp.directives'
]).config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise({
redirectTo: '/'
});
$stateProvider.
state('/', {
url: '/',
templateUrl: '/partials/homepage',
controller: 'MyCtrl1'
}).
state('about.detail', {
url: '/about/:id',
templateUrl: function(params){
return '/partials/about/'+params.id
},
controller: 'MyCtrl1'
}).
state('funnel', {
url: '/funnel',
templateUrl: '/partials/funnel',
controller: 'MyCtrl2'
});
$locationProvider.html5Mode(true);
});
出于某种原因,如果我直接去/漏斗
,这些路线就没有了如果我转到localhost:3000 / funnel?
,我是否可以通过此设置获取路线?答案 0 :(得分:0)
因为您使用的是html5mode而不是hashbang,所以您需要在.htaccess中添加重定向,以便将所有内容发送回根index.html。没有它,您正试图找到一个不存在的目录。这是我使用的:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^(/index\.php|/img|/js|/css|/robots\.txt|/favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]