Метеороугольный - Ошибка толчка

0

Я использую meteor-angular, и я получил эту консольную ошибку, которая гласит: Uncaught TypeError: Cannot read property 'push' of undefined Кажется, я не могу найти какую-либо документацию о том, как это решить. Кто-нибудь знает, как я могу найти корень этой push-ошибки?

HTML

  <form>

    <label>Email</label>
    <input ng-model="newResonance.email">

    <button ng-click="resonance.push(newResonance); newResonance='';">Add</button>
  </form>

ClientControllerJS

(function () {
  'use strict';

  angular.module('resonance').controller('HomeCtrl', HomeCtrl);

  HomeCtrl.$inject = ['$scope', '$meteor'];

  function HomeCtrl($scope, $meteor) {

    $scope.resonance = $meteor.collection(Resonance);

    $scope.remove = function(resonance){
      $scope.resonance.remove(resonance);
    };

    $scope.removeAll = function() {
      $scope.resonance.remove();
    };

  };

})();

ServerJS

Meteor.startup(function () {

  Resonance.before.insert(function(userId, doc){

      doc.createdAt = new Date();

    });

  if (Resonance.find().count() === 0) {

    for (var i = 0; i < resonance.length; i++)

      Resonance.insert({ email: resonance[i].email });

  }
});
  • 0
    Это происходит потому, что resonance не определен в области действия вашего html <button ng-click="resonance.push(newResonance); newResonance='';"> вам может быть лучше обрабатывать кнопку даже в обработчике событий шаблона.
  • 0
    Хорошо, это имеет смысл @Michael Floyd. Я новичок в Angular и мне было интересно, как я могу добавить это в обработчик событий?
Показать ещё 3 комментария
Теги:
meteor

1 ответ

0

Я решил эту проблему, изменив <button ng-click="resonance.push(newResonance); newResonance='';">Add</button>

в

<button ng-click="resonance.save(newResonance); newResonance='';">Add</button>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню