我认为我对单页应用程序中的角度截取路线的方式有一个基本的误解。
我认为我的问题很简单。当我输入网址时:
localhost:3000/streams/
我想加载“信息流”页面。我认为它的工作方式如下:
我的快递服务器收到请求,然后回答一个布局。
app.get('/streams/',function(req,res){
res.render('layout');
})
我的布局页面已呈现。它调用客户端app.js并具有ng-view。
Angular截取“ / streams /”路径,然后调用“ streams”模板。像这样:
$routeProvider
.when('/',
{
templateUrl: '/templates/mainpage'
}
)
.when('/streams/',
{
templateUrl: '/templates/streams'
}
)
由于某种原因,现实是非常不同的。
当我加载
'/streams'
时,角度检索/templates/streams
,然后当我加载
'/streams/
时,角度检索/templates/mainpage
。为什么?
这种误解已经困扰了我好几天了。
任何帮助都将获得5量子的良好能量。
谢谢。
最佳答案
事实证明,真正的问题有所不同。
正如所描述的,并不是Angular不知道我指的是“流”,而是当我加载“ streams /”时,html具有相对的基础。
基本上,这种相对的基础使我好像已经找到了一个模板,即“ / streams”,现在正在检索另一个模板,即“ /”。只需在html中添加根目录库即可解决此问题。
<base href="/">
这应该做。