首页 文章

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

提问于
浏览
2

我在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 value:undefined . 如果我在提供者的构造函数中设置isConnected(例如this.isConnected = false),即使函数connectToDevice将isConnected设置为true,当我从我的页面调用它时将返回值false . 有人可以向我解释发生了什么以及如何解决这个问题?

1 回答

  • -1

    添加到上面的评论 . 我认为这对你有用 .

    constructor(public ble: BleProvider){
    }
    
    ngOnInit(){
        this.ble.connectToDevice()
    }
    

    我希望有所帮助 .

相关问题