您的位置:首页 > Web前端 > AngularJS

angular+ionic开发的页面,当子页面需要从父组件带参进入又需要可以脱离父组件进入,怎么配置?

2017-10-21 20:19 477 查看
这个代码记录源于一个需求,例如:一个问卷页面,需要从H5的问卷列表点击进入,也需要可以单独从Banner点击直接进入问卷页面

在原生安卓和IOS跳H5页面的时候,需要往一个url传递参数跳转页面。

这时H5页面请求接口需要的参数来源于url。在一个APP里面需要一个页面既可以从H5的列表页面进入,又可单独从APP的指定地方配带参数的url进入该页面。

问题点:angular+ionic 开发的页面父组件到子组件用懒加载的方式带参跳转和直接从原生APP端配带参url跳转在子页面需要配置的子页面参数不一样

这是APP配参url,该页面需要配置的

@IonicPage({
name:'page-questionnaire',
segment:'page-questionnaire/:userid/:strAccountNO/:strTypeID/:strDeviceID/:strAPPID'
})

这是父组件带参跳转需要的

@IonicPage({
name:'page-questionnaire',
segment:'page-questionnaire
})

为了统一我想的办法是取消使用懒加载。在当前页面拼出跳转url,在当前页面跳转

需要的知识


定义和用法

slice() 方法可从已有的数组中返回选定的元素。


语法

arrayObject.slice(start,end)

参数描述
start必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。


返回值

返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。


定义和用法

search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。


语法

stringObject.search(regexp)

参数描述
regexp该参数可以是需要在 stringObject 中检索的子串,也可以是需要检索的 RegExp 对象。

注释:要执行忽略大小写的检索,请追加标志 i。


返回值

stringObject 中第一个与 regexp 相匹配的子串的起始位置。

注释:如果没有找到任何匹配的子串,则返回 -1。

public pushDetai(strTypeID){
// 获取当前url
this.url=window.location.href;
// 找到与目标页面相同的链接字符串位置
var count=this.url.search(/page-questionnaireList/);
var gourl=this.url.slice(0,count);获取相同位置的子串。
gourl=gourl+"page-questionnaire/"+this.userid+"/"+this.strAccountNO+"/"+strTypeID+"/"+this.strDeviceID+"/"+this.strAPPID;
window.location.href=gourl;
}


这是一种方法,后面找到了一种新的方法ionic懒加载也是可以实现的

详情参照:
http://blog.csdn.net/qq_34645412/article/details/78696135
并且建议用懒加载的push方法实现这个需求会简单很多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐