【问题标题】:How to send an object as a parameter in radio group如何将对象作为参数发送到单选组
【发布时间】:2017-04-27 06:30:48
【问题描述】:

我有一个数组,我用它来显示

<ion-item (click)="toggleLanguages()">
          Languages
          <ion-icon name="add" item-right *ngIf="languageShow"></ion-icon>
          <ion-icon name="remove" item-right *ngIf="languageHide"></ion-icon>
        </ion-item>
        <div *ngIf="languageHide">

          <!-- All radio's in a radio group -->

          <ion-list radio-group [(ngModel)]="selectedLanguage" (ionChange)="doSomething(language)">
            <ion-item *ngFor="let language of languageArray">
              <ion-label >{{language.language_name}}</ion-label>
              <ion-radio item-left [value]="language"></ion-radio> 
            </ion-item>
          </ion-list>

        </div>

如您所见,我正在使用 ionchange 调用函数

问题:

当我的languageHide 变量变为真时,我的doSomething 函数就会触发

我将language 对象作为参数发送到我的doSomething(language) 函数,但在我的控制台日志中,我的语言对象未定义。

这是我的 .ts 文件

doSomething(languages){

console.log("invoking dosomething");
console.log("checking languages "+ JSON.stringify(languages));//here it is not printing
}

toggleLanguages(){
  console.log("invoking toggleLanguages");
  this.languageShow = !this.languageShow;
  this.languageHide = !this.languageHide;
}

从上面的两个函数中,我首先调用了 toggleLanguages() 函数 一旦我调用了这个函数,我的 this.languageHide 变量就会变为 true,然后我的 (ionChange) 函数就会自动触发。

【问题讨论】:

    标签: angular radio-button ionic2 ionic2-select


    【解决方案1】:

    我对Ionic没有任何经验,但你应该可以通过$event

    (ionChange)="doSomething($event)
    

    然后您可以在控制台中打印$event 以查看如何提取您需要的数据:

    doSomething(event: any){
        console.log(event);
    }
    

    您不能传递language 变量,因为它在ion-list 范围内不可见,它在下面定义。

    【讨论】:

    • 谢谢,但如果我使用 $event 我无法获得语言对象,我会在 console.log 中打印 language.language_name,但我需要整个语言对象跨度>
    • @MohanGopi 这没有意义,如果你设置[value]="language",那么你应该得到整个对象。您确定您在此期间没有将value 更改为[value]="language.language_name"
    • 我很确定我没有改变它
    • @MohanGopi 为什么不简单地使用selectedLanguage 变量来获取当前值,因为您使用NgModel 指令将选定的值绑定到它?您可能需要将 [value] 更改为 [ngValue] 才能使其正常工作。
    • 如果我使用[ngValue] 我得到错误ngValue isn't known property of ion-radio 我已经通过查看这个网站ionicframework.com/docs/v2/api/components/radio/RadioGroup 完成了我的代码
    猜你喜欢
    • 2020-04-25
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 2018-01-22
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    相关资源
    最近更新 更多