如何在应用程序时设置对象值是午餐

How to set object value at the time of application is lunch?

本文关键字:对象 午餐 设置 应用程序      更新时间:2023-09-26

在我的angular js+cordova+ionic应用程序中,我想在应用程序启动时设置我的数据库对象。我在app.js文件中初始化它。

.run(function ($ionicPlatform, DBService, $cordovaSQLite) { $ionicPlatform.ready(function () { var db = $cordovaSQLite.openDB("CO.db"); DBService.setDB(db); ...}

我将使用函数DBService.getDB()在另一个文件上检索db对象

问题是在.controller $urlRouterProvider.otherwise('/app/contact');函数中,首先加载cotact-ctrl.js文件,但不加载db对象。在加载完cotact-ctrl.js文件后,它在app.js文件中执行.run方法,这就是为什么它没有得到db对象

事实上,我是angular js的新手,我不知道angular js应用程序的生命周期。

您正在将db对象创建为就绪事件范围的本地对象。这就是为什么它在该处理程序之外不可用的原因。

您需要在全局范围内移动数据库。通过这种方式,您可以在应用程序中的任何位置访问它。

.run(function ($ionicPlatform, DBService, $cordovaSQLite) {
        $ionicPlatform.ready(function () {
            window.db = $cordovaSQLite.openDB("CO.db");
            DBService.setDB(db);
...}