Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
angularjs应用程序中未定义PockDB_Angularjs_Pouchdb - Fatal编程技术网

angularjs应用程序中未定义PockDB

angularjs应用程序中未定义PockDB,angularjs,pouchdb,Angularjs,Pouchdb,我正在AngularJS应用程序中使用PockDB 以下是我在AngularJS应用程序中实现/访问PockDB所遵循的步骤 通过Bower安装角形袋: bower install --save angular-pouchdb 在app.js中将PockDB添加为模块依赖项: var application = angular.module("application", ["ui.router", "pouchdb"]); 在我的应用程序中插入PockDB服务: application.

我正在AngularJS应用程序中使用PockDB

以下是我在AngularJS应用程序中实现/访问PockDB所遵循的步骤

  • 通过Bower安装角形袋:

    bower install --save angular-pouchdb
    
  • 在app.js中将PockDB添加为模块依赖项:

    var application = angular.module("application", ["ui.router", "pouchdb"]);
    
  • 在我的应用程序中插入PockDB服务:

    application.factory("pouchDataAccessFactory", function (pouchdb) {
        var factory = {};
        var database = undefined;
        factory.createDatabase = function ()
        {
            database = pouchdb.create("memorydb")
                .then(function () { })
                .catch(function () { })
                .finally(function () { });
        }
    
        factory.destroyDatabase = function () {
            pouchdb.destroy("memorydb");
        }
    
        factory.insert = function (product) {
            database.put(product)
                .then(function (response) {
                    // Do something with the response 
                })
                .catch(function (error) {
                    // Do something with the error
                })
                .finally(function () {
                    // Do something when everything is done
                });
        }
    
        return factory;
    });
    
  • 来自HomeController的呼叫

    application.controller("HomeController", function ($scope, pouchDataAccessFactory) {
    
        function initialize()
        {
            pouchDataAccessFactory.createDatabase();
        }
        debugger;
        initialize();
    });
    
  • 添加angular-db.js并在index.html中添加引用

    <html>
    
    <head>
    
        <script src="Scripts/angular.min.js"></script>
        <script src="Scripts/angular-ui-router.min.js"></script>
        <!--<script src="Scripts/pouchdb-3.6.0.js"></script>-->
        <script src="Scripts/angular-pouchdb.js"></script>
    
        <script src="App/app.js"></script>
    
        <script src="App/Controllers/HomeController.js"></script>
    
        <script src="App/Factory/PouchDBAccessFactory.js"></script>
    
        <link href="StyleSheets/AppStyle.css" rel="stylesheet" />
    
    </head>
    
    <body>
    
        <div ng-app="application" ng-strict-di>
            <nav role="navigation">
                <ul>
                    <li><a ui-sref="home">Home</a></li>
                    <li><a ui-sref="about">About</a></li>
                </ul>
            </nav>
    
            <div ui-view>
            </div>
    
        </div>
    
    </body>
    
    </html>
    
    
    

    • 从文档中,您必须尊重案例:
      PockDB
      而不是
      PockDB

      angular.factory('factory', function(pouchDB) {
        var db = pouchDB('name');
      });
      

      正如在评论中所说的那样,检查您是否在文档中的html代码中设置了正确的脚本,您必须尊重以下情况:
      PockDB
      ,而不是
      PockDB

      angular.factory('factory', function(pouchDB) {
        var db = pouchDB('name');
      });
      

      正如在评论中所说,检查您是否在html代码中设置了正确的脚本

      您应该取消注释
      ,这将是
      angular PockDB
      所需的
      我认为您应该取消注释
      angular PockDB
      所需的
      think@pankajparkar他从鲍尔公司安装了官方的有棱角的邮袋,不是github上wspringer的fork,所以文档位于。这是正确的博士点,意思是你说的是代码的第一部分,但为什么
      $window.pookdb
      请继续阅读下面的部分“每次编写$scope.$apply都很费劲,我们甚至没有提到异常处理或$digest已在进行中的错误。angular PockDB处理$scope.$通过将PockDB的承诺包装成$q来为您应用。然后,您可以像使用任何角度承诺一样使用它的承诺,包括.finally方法(不在A+规范中)。“转到使用部分并检查服务usage@pankajparkar他在bower安装了官方的有棱角的邮袋,而不是github上wspringer的叉子,所以doc在。这是正确的博士点,意思是你说的是代码的第一部分,但为什么
      $window.pookdb
      请继续阅读下面的部分“每次编写$scope.$apply都很费劲,我们甚至没有提到异常处理或$digest已在进行中的错误。angular PockDB处理$scope.$通过将PockDB的承诺包装成$q来为您应用。然后,您可以像使用任何角度承诺一样使用它的承诺,包括.finally方法(不在A+规范中)。“转到用法部分,检查服务用法