Ionic framework 如何在Ionic中将更新url路径的属性设置为NavParams?
例如,显示URL中所选单选按钮的值 URL:[域]/selector/:值Ionic framework 如何在Ionic中将更新url路径的属性设置为NavParams?,ionic-framework,ionic2,ionic3,Ionic Framework,Ionic2,Ionic3,例如,显示URL中所选单选按钮的值 URL:[域]/selector/:值 @IonicPage({ name: 'selector', section: 'selector/:value' }) @Component({ template: ` <ion-list radio-group [(ngModel)]="selector"> <ion-item> <ion-label>First</ion-label>
@IonicPage({
name: 'selector',
section: 'selector/:value'
})
@Component({
template: `
<ion-list radio-group [(ngModel)]="selector">
<ion-item>
<ion-label>First</ion-label>
<ion-radio value="first" checked></ion-radio>
</ion-item>
<ion-item>
<ion-label>Second</ion-label>
<ion-radio value="second"></ion-radio>
</ion-item>
</ion-list>
`
})
class SelectorComponent {
private _value;
get selector() {
return this._value;
}
set value(value) {
this._value = value;
//set :value in url equals current value
}
}
@IonicPage({
名称:'选择器',
节:“选择器/:值”
})
@组成部分({
模板:`
弗斯特
第二
`
})
类选择器组件{
私人价值;
获取选择器(){
返回此值;
}
设定值(值){
此值为._值=值;
//设置:url中的值等于当前值
}
}
现在,当用户切换按钮时,他应该会在URL中看到new:value。您可以使用。在组件顶部添加@IonicPage()
装饰器,并使用动态值指定一个段
@IonicPage({
name: 'detail-page',
segment: 'selector/:value'
})
然后可以像这样推送页面,将动态值作为navParam传递
this.navCtrl.push('detail-page', {
'value': detailInfo.value
})
从3.6版开始就不可能了 您可以这样做:
window.history.replaceState('', '', '#/selector/' + value);
// optionally update navCtrl data
this.navCtrl.getActive().data.radioValue = value;
你不明白这个问题。我谈到了使用一个组件,而不是通过添加到堆栈来创建其他页面。当选择值时,用户应在地址栏中看到更改,并且仍保持在同一页面上。对该问题进行更多澄清将有助于更好地理解您的问题。据我所知,在带有的浏览器中,无需重新加载就可以更新url,但我认为在Ionic中还不可能。