我在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。 有人可以向我解释会发生什么以及如何解决这个问题吗?
答案 0 :(得分:-1)
在上面添加我的评论。我认为这对你有用。
constructor(public ble: BleProvider){
}
ngOnInit(){
this.ble.connectToDevice()
}
我希望有所帮助。