ng-repeat显示函数名称和数据

时间:2013-10-17 18:57:29

标签: mongodb angularjs mlab

我是angularjs和mongolab的初学者。

我有这段代码,用于编辑mongolab中的记录:

function EditCtrl($scope, $location, $routeParams, Project) {
    var self = this;
    Project.get({id: $routeParams.projetId}, function(projet) {
        self.original = projet;
        $scope.projet = new Project(self.original);
    });

    $scope.save = function() {
        $scope.projet.update(function() {
            $location.path('/list');
        });
    };
}

完美无缺。 我想显示记录中的所有键和值,这是代码:

<div ng-repeat="(key, val) in projet">
    <div>{{key}}:{{val}}</div>
</div>

这就是结果:

_id:{} 破坏: 名称:测试测试 响了起来:4 更新:

在我的记录中,我只有_id,名字和响铃。我不知道为什么“破坏:”dans“更新:”显示!可能是因为我使用此代码连接到mongolab:

angular.module('mongolab', ['ngResource']).
        factory('Project', function($resource) {
    var Project = $resource('https://api.mongolab.com/api/1/databases' +
            '/_____/collections/_________/:id',
            {apiKey: '___________________'}, {
        update: {method: 'PUT'}
    }
    );

    Project.prototype.update = function(cb) {
        return Project.update({id: this._id.$oid},
        angular.extend({}, this, {_id: undefined}), cb);
    };

    Project.prototype.destroy = function(cb) {
        return Project.remove({id: this._id.$oid}, cb);
    };

    return Project;
});

我该怎么做只显示记录数据?

感谢

1 个答案:

答案 0 :(得分:1)

返回服务并将您从get()收到的项目传回更新并销毁。

factory('Project', function($resource) {
return { 
     get: function() {
         return $resource('https://api.mongolab.com/api/1/databases' +
        '/_____/collections/_________/:id',
        {apiKey: '___________________'}, {
         update: {method: 'PUT'}
      },


update : function(itm, cb) {
    return item.update({id: item._id.$oid},
    angular.extend({}, item, {_id: undefined}), cb);
},

destroy : function(item, cb) {
    return item.remove({id: item._id.$oid}, cb);
};

否则你只能实例化一个并引用它

factory('Project', function($resource) {
var item =$resource('https://api.mongolab.com/api/1/databases' +
        '/_____/collections/_________/:id',
        {apiKey: '___________________'}, {
         update: {method: 'PUT'}
return { 


update : function(cb) {
    return item.update({id: item._id.$oid},
    angular.extend({}, item, {_id: undefined}), cb);
},

destroy : function(cb) {
    return item.remove({id: item._id.$oid}, cb);
};