Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ionic framework 如何在Ionic中将更新url路径的属性设置为NavParams?_Ionic Framework_Ionic2_Ionic3 - Fatal编程技术网

Ionic framework 如何在Ionic中将更新url路径的属性设置为NavParams?

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>

例如,显示URL中所选单选按钮的值

URL:[域]/selector/:值

@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中还不可能。