用一个网页的url当做参数给angular传参,无法被特定的路由捕获
这几天弄一个ionic的项目,通过爬虫将数据抓好由server传给前台页面
<ion-item ng-repeat="item in news" class="item item-icon-left">
<a href="#/app/list/{{item.href}}" >
通过点击,将新的url作为参数传递到server,开始新的一轮爬虫。 可是,理想很丰满,现实很骨感! 这个路由无法被相应的app捕获
.state('app.news', {
url: "/list/:href",
views: {
'menuContent': {
templateUrl: "templates/news.html",
controller: 'SingleNewsCtrl'
}
}
});
});
总是跳转到 app里的一个default路由。
后来,我开了点脑洞,将之前的a 的href做了点修改
<ion-item ng-repeat="item in news" class="item item-icon-left">
<a href="#/app/list/123" >
就传个123当参数,这时,却神奇的被路由捕获了, 然后,我就又换了个值做参数:
<ion-item ng-repeat="item in news" class="item item-icon-left">
<a href="#/app/list/{{item.title}}" >
这次呢,title也正常的传递了,不知道是为什么,一个url连接不能作为参数传递~~~
希望大家能帮忙指点下,如何才能将url作为参数传递
注 item.href这个是个网站的完整连接,我再爬虫的时候,就将其转义了,如下
news.push({
href: encodeURIComponent($a.attr('href')),
title: $a.attr('title'),
date: $i.text()
});
转义后,页面连接如下:
<a href="#/app/list/http%3A%2F%2Fnews.neusoft.edu.cn%2F2015%2F0401%2F4705.shtml">