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

How to set attribute into NavParams for update url path in Ionic?

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

URL: [域]/选择器/:值

@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
  }
}

现在,当用户切换按钮时,他应该在 URL 中看到新的 :value。

您可以使用 Ionic Page dynamic links。在您的组件顶部添加 @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;