2017-10-27 5 views
0

私はタイプスクリプトの初心者です。 他のタイスクリプトでtypescriptの関数の値を使用したいと思います。他のタイプスクリプトのtypescriptsからの関数の使い方

lightpage.ts

export class LightPage { 

//light-on/off 
private lightOn: boolean = false; 

setLight(): boolean { 
    this.lightOn = !this.lightOn; 
    var lightResult = this.lightOn; 
    console.log("lightResult : " + lightResult); 
    return lightResult; 
} 

home.ts

import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 
import { LightPage } from '../light/light'; 
@Component({ 

    selector: 'page-home', 

    templateUrl: 'home.html' 
}) 

export class HomePage { 

    //let lp = new LightPage(); 


} 

私はhome.tslightpage.tssetLight()の結果値を使用したいです!

インポートするにはどうすればよいですか?

+0

あなたが最初のオブジェクトを作成することなく、外部からのクラスメソッドが必要な場合は、単に静的メソッドを構築することができます – mtizziani

答えて

0

インポートするにはどうすればよいですか?

シンプルです。 home.tsでは、必要があります:

import * from {LightPage} from './path/to/lightpage'; 

もっと

これはES6インポート構文です。

+0

それは動作します!答えてくれてありがとう ! –

+0

心配はいりません。ありがとうございました! – basarat

1

あなたは正しい道を歩いていますが、クラス内で変数を宣言することはできません(let)。コンストラクタやその他の関数で使用する必要があります。

home.ts

import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 
import { LightPage } from '../light/light'; 
@Component({ 

    selector: 'page-home', 

    templateUrl: 'home.html' 
}) 

export class HomePage { 

    //let lp = new LightPage(); 
    private lp = new LightPage(); 

    constructor() { 
     this.lp.setLight(); 
    } 
} 

プラス、私はtoggleLightにあなたの関数のsetLightの名前を変更します;)

+0

感謝してください!私は関数の名前を変更します:D –

関連する問題