【问题标题】:how to get id using promise from service using controller如何使用控制器从服务中获取 id
【发布时间】:2015-11-19 14:49:19
【问题描述】:

大家好,我在获取 id 时遇到了问题。现在我无法从服务中获取“_id”。 这是我的服务

        application.service('Arrears', [
        function() 
        {
            var db = new PouchDB('localhost:5984/arrears');

            return {         
                get: function (_id) {
                    return db.get(_id)
                    .then(function (object) {
                        return db.remove(object)
                    .catch(function (err) {
                    console.log('error: ' + err); // isn't executed
                });
                    })
                    .catch(function (err) {
                    console.log('error: ' + err); // isn't executed
                    });
                 },
            }
        }
    ]);

插入数据没问题。 现在,这是我的控制器。

application.controller('ArrearsManagementAllController', ['$location', '$mdSidenav', '$scope', 'Arrears',
        function($location, $mdSidenav, $scope, Arrears)
        {
            $scope.id = Arrears.get();
        }
    ]);

最后一个是我的模板。

<md-list-item
                md-virtual-repeat="i in items"
                ng-click="read(id)">

当我点击阅读时,我的链接显示如下

localhost:8080/arrears_management/all/read/undefined

我的代码无法读取 id。 请解决我的问题。因为我是使用 angularjs 和 pouchdb 的新手。

现在控制台显示如下错误:-

GET localhost/arrears/_id?_nonce=1447904157421 404 (Object Not Found)

【问题讨论】:

  • 您应该只使用特定于您的问题的代码,这是 TLDR。编辑问题以避免投票。模板与控制器中的大多数代码无关。

标签: angularjs service controller couchdb pouchdb


【解决方案1】:

你的代码有问题:

1.

get: function (_id) {
                var id = get('_id')
            },

不返回任何内容,并且

2. get 正在调用一个未定义的 get 方法

3.您没有_id 可以退货。也许您想在从数据库中获取它之后将其放入服务变量中?

,您可能想这样做:

get: function (_id) {
       var id = db.get('_id');
       return id;
    },

注意 db.get 而不仅仅是 get 和非常有用的 return。不过,这可能取决于数据库引擎...

编辑

即使在控制器中你也有一个大问题:$scope.id = Arrears.get 做了你想要的更复杂的事情。您只需将其替换为:

$scope.id = Arrears.get();

为了得到 id 的值,因为你没有调用get 方法...

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2016-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-14
  • 1970-01-01
相关资源
最近更新 更多