2017-12-13 18 views
0

まず、私はイオン性、角型、タイピクルで新しく、このプロジェクトを行うより良い方法はわからないので、慈悲をお願いします。関数間の変数の受け渡し方法ionic 3

私はtxtファイルから文字列を取得し、それを変数estadoに保存します。次に、別の関数でその文字列を使用したいのですが、私は定義されていません。

import { Component } from '@angular/core'; 
import { NavController, NavParams } from 'ionic-angular'; 
import * as jQuery from 'jquery'; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html' 
}) 
export class HomePage { 

    estado: string; 
    estadoView: string = " deshabilitadas"; 
    accionView: string = "Activar"; 

    constructor(public navCtrl: NavController, public navParams: NavParams) { 
    } 

    ionViewDidLoad() { 

    jQuery.get('http://localhost/estadoAlarma.txt', function (estado) { 
     console.log("ionviewdid"); 
     console.log(estado); 
     return estado; 
    }); 
    this.actAlarma(this.estado); 
} 

actAlarma(estado) { 
     console.log(estado); //here I get undefined 
    if (estado == "activado") { 
     console.log("si vale"); 
     this.estadoView=" habilitadas"; 
     this.accionView="Desactivar1"; 
    } 
    else{ 
     console.log("no vale"); 
     this.estadoView=" deshabilitadas"; 
     this.accionView="Activar"; 
    } 
} 
} 
+0

estadoを文字列に設定することはありませんので、常に定義されていません –

+0

あなたの問題を解決し、問題の最小コードセグメントでそれを実証する方が良いでしょう。組み込みの画面キャプチャでは、すでにほとんどの作業を完了しています。しかし、質問に関連するコードを投稿することで、読者はあなたの質問に少しでもぶつかり合うことができます。申し訳ありませんが、Javascriptでしばらくコードを作成していないため、明確な回答を提供できません。 –

+0

ありがとう@YuShen! @Charlieに感謝しますが、私に例を挙げてください。 – Ricardo

答えて

-1

うんチャーリーは正しい方向にあなたを指摘し、次のようなものが必要です。

ionViewDidLoad(){

this.estado = jQuery.get('http://localhost/estadoAlarma.txt', function (estado) { 
    console.log("ionviewdid"); 
    console.log(estado); 
    return estado; 

を}); this.actAlarma(this.estado);

+0

jqueryの代わりにAngularのhttp get操作を使用することをおすすめします。 – DeborahK

+0

感謝@Sergey私はその変更を行いましたが、私はまだ関数の中で定義されていませんactAlarm(estado) – Ricardo

関連する問題