如果我使用<a href>
或<a ui-sref>
...一切正常,我可以访问所有观看次数。
当我将链接直接输入浏览器(例如http://localhost/#/someurl
)时,它无法正常工作。
如果我点击导航栏中的某个按钮,然后通过<a href>
或<a ui-sref>
传递我的网址,则可以正常工作。
root.jade
ng-include(src="'partials/navbar.html'")
div(ui-view="")
navbar.jade nav.navbar.navbar默认 .container液 .navbar头 a.navbar-brand(href =&#34;#&#34;)Open Service Compendium
ul.nav.navbar-nav
li
a(ui-sref="home") Home
li
a(ui-sref="test1") test1
li
a(ui-sref="test2") test2
所以如果我试着去
http://localhost/#/otherview
它不起作用,我得到一个带有导航栏的空白页面,但如果我点击test1,则网址形成为,
http://localhost/#/otherview
它有效。这似乎有点逻辑,因为root.jade上的div(ui-view="")
只会加载可能会在导航栏上点击的vews?有人有想法吗?
root.html
'use strict';
angular.module('myApp', ['ngAnimate', 'ngCookies', 'ngResource', 'ui.router', 'ngSanitize', 'ngTouch']).config(function($stateProvider) {
$stateProvider.state('home', {
url: '/',
templateUrl: 'home.html'
}).state('services', {
url: '/services/:type',
templateUrl: 'services.html'
}).state('services.detail', {
url: '/:id',
templateUrl: 'detail.html'
}).state('test1', {
url: '/test1',
templateUrl: 'test1.html'
}).state('test2', {
url: '/test2',
templateUrl: 'test2.html'
});
});
答案 0 :(得分:0)
<强> root.jade 强>
ng-include(src="'partials/navbar.html'")
div(ui-view="")
navbar.jade - 添加了div(ng-view)
ul.nav.navbar-nav
li
a(ui-sref="home") Home
li
a(ui-sref="test1") test1
li
a(ui-sref="test2") test2
div(ng-view)
您可以将部分内容保存为.jade
个附加信息。在路由逻辑中删除.html
个扩展名,例如
.state('test1', {
url: '/test1',
templateUrl: 'test1.html'
}).state('test2', {
url: '/test2',
templateUrl: 'test2.html'
})
变,
.state('test1', {
url: '/test1',
templateUrl: 'test1'
}).state('test2', {
url: '/test2',
templateUrl: 'test2'
})
试试吧。建议通过this link
的玉和角部分