如何从离子2

时间:2016-07-25 04:46:13

标签: ionic2

我想在离子2中将值从一个页面传递到另一个页面。

例:
第一页: 名字:abc 姓氏:xyz

第二页: 名字:获取名字的值 姓氏:获取姓氏

的值

1 个答案:

答案 0 :(得分:1)

我认为您有两种解决方案可以解决它。

  1. 如果要将值作为参数从FirstPage传递到SecondPage,则可以使用NavParams。
  2. 在第一页:

    this.navController.push(SecondPage, { yourParameterName: yourParameterValue });
    

    在第二页:

    onPageDidEnter() {
        this.yourClassVariable = this.navParams.get('yourParameterName');
    }
    

    请注意,如果您想将SecondPage中的内容传递给FirstPage,您可以将回调作为参数传递,并在执行后退操作之前在SecondPage中调用该值以在FirstPage中指定值(this.navController.pop() )

    2.您还可以通过注射服务帮助解决价值共享问题

    @Injectable()
    export class MyService {
       private string $value;
    
       setValue(newValue:string) {
           this.$value = newValue;
       }
    
       getValue():string {
          return this.$value;
       }
     }
    

    然后在两个页面中,您可以将服务添加为提供者并设置/获取您感兴趣的值

    @Component({
       providers: [MyService]
    })
    export class FirstPage {
        constructor(private myService:MyService) {
        }
    
        private anyWhere() {
           this.myService.setValue('myValue');
           this.myService.getValue();
        }
     }