7

Meteor と Angular.js の組み合わせを使用して、MongoDb の特定のアドレスについて警告を受けようとしています。

私のhtmlファイルで、私はやっています

<div ng-controller = "myController as myCtrl">
{{myCtrl.warnings}}
{{myCtrl.getWarnings("123 Test Street, TestCity, TestState")}}
</div>

私のapp.jsファイルで:

Warnings = new Mongo.Collection("Warnings");

if (Meteor.isClient) {
  var app = angular.module('ffprototype', [ 'angular-meteor' ]);

  app.controller('myController', ['$window','$meteor', function($window, $meteor) {

    this.warnings = $meteor.collection(Warnings);

    this.getWarnings = function(findByAddress){
        Warnings.find({address: findByAddress}).fetch();
    }
  }]);
}

私のmongoDbコレクション:

{
    "_id": "3ixgxEMZDWGtugxA7",
    "address": "123 Test Street, TestCity, TestState",
    "warning": "Warning 1"
}
{
   "_id": "HZH5FvCD5driBYSJz",
    "address": "123 Test Street, TestCity, TestState",
    "warning": "Warning 2"
}

HTML Web ページからの出力には、警告コレクション全体が表示されます ( のおかげ{{currentDispatch.warnings}}ですが、何も表示されません)。{{currentDispatch.getWarnings("123 Test Street, TestCity, TestState")}}

4

2 に答える 2

0

angular-meteor docsから、$meteor.objectすぐに非推奨になるようです。

$meteor.objectというように、 Mongo Collection のfindOne機能を利用できるので、もう必要ありません。

古いコード:

$scope.party = $meteor.object(Parties, $stateParams.partyId);

新しいコード:

$scope.helpers({
  party() {
    return Parties.findOne($stateParams.partyId);
  }
});

より詳細なbind one チュートリアル

于 2016-03-19T15:33:53.307 に答える