Ionic 2:从提供者或页面访问变量值

时间:2017-06-25 13:32:59

标签: javascript angular variables typescript ionic2

我在Ionic 2中遇到问题,也许你们中的一个可以帮助我。 基本上,我有一个提供者,我建立了包括功能BLE。我将此提供程序包含在我的页面中。从这个页面我可以毫无问题地调用该函数。但我想要的是访问作为提供者的公共变量。此变量是状态连接(true或false),我想从我的页面访问它以了解我是否与BLE连接。

这是我的代码

BleProvider.ts

@Injectable()
export class BleProvider {

public isConnected:boolean;

constructor(public http: Http) {
 console.log('Hello BleProvider Provider');
}

connectToDevice(device){
 this.isConnected = true;
}
}

我的页面Login.ts

import { BleProvider } from '../../providers/ble/ble'
@IonicPage()
@Component({
selector: 'page-login',
templateUrl: 'login.html',
})
@NgModule({
providers: [BleProvider],
})

export class LoginPage {

constructor(public ble: BleProvider){
 ble.connectToDevice();
}

function testIsConnected(){
console.log("isConnected value: " + this.ble.isConnected);
}
}

console.log将返回" isConnected值:undefined。如果我在提供者的构造函数中设置isConnected(例如this.isConnected = false),即使函数connectToDevice将isConnected设置为true,当我从我的页面调用它时它将返回值false。 有人可以向我解释会发生什么以及如何解决这个问题吗?

1 个答案:

答案 0 :(得分:-1)

在上面添加我的评论。我认为这对你有用。

constructor(public ble: BleProvider){
}

ngOnInit(){
    this.ble.connectToDevice()
}

我希望有所帮助。

相关问题