如何在离子2中切换时显示所选值?

时间:2018-02-21 11:41:05

标签: angular ionic-framework ionic2

我在我的app中使用过切换。我想在每次加载页面时都显示所选的值。

问题:我选择了true,但每当我加载页面时,它都显示为false。

html代码

<ion-toggle [(ngModel)]="isToggled" (ionChange)="YES1()"></ion-toggle>

ts代码

public isToggled: boolean;
YES1()
  {
    console.log("Toggled: "+ this.isToggled);
    if(this.isToggled == true)
    {
      console.log('true');
    }
    else
    {
      console.log('false');
    }
  }

2 个答案:

答案 0 :(得分:2)

它总是会显示错误,因为您尚未使用某个值初始化您的媒体资源,因此它未定义,并且每次加载您的网页时,切换都会保持为假。如果你想一直显示为toggled / true,那么

public isToggled: boolean = true;

当您从堆栈中卸载该页面或重新加载页面时,Angular不会将值存储在其上。

如果要保存值以使用它,我建议使用数据库或至少一些本地存储。

答案 1 :(得分:0)

您需要记录状态并在页面加载时检索它。使用ngOnInit()

您也可以在构造函数中执行此操作,但不建议这样做。

您可以将数据存储在

  • 服务
  • localStorage的
  • 全局变量(如具有公共静态成员的自定义Globals类)

您是否正在加载全新的页面?或者您是在顶部放置视图然后弹出视图?如果你弹出值应该留下来。

就像加布里埃尔所说,如果您正在加载新页面,那么您已经失去了以前的状态。从负载处的其他地方抓住状态。