我在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 回答
添加到上面的评论 . 我认为这对你有用 .
我希望有所帮助 .