如何在申请时设定对象价值午餐?

时间:2015-02-09 06:32:09

标签: javascript angularjs node.js cordova

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

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

我将使用此函数 DBService.getDB(); 在其他文件上检索 db object

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

实际上我是角度js的新手,我不知道角度js app的生命周期。

1 个答案:

答案 0 :(得分:0)

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

您需要在全局范围内移动数据库。这样您就可以在应用程序的任何位置访问它。

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