Угловой ng-click не может получить значение ng-модели

0

Я работаю с формой, и я просто хочу получить значение из ng-модели. форма выглядит следующим образом:

<form name="comment_form" class="row" novalidate>
    <div class="col col-80 content col-center">
    <input class="new-comment-message" type="text" style="margin-left: 15px;" placeholder="Leave a comment..." ng-model="new_comment" required></input>
    </div>
    <div class="col col-20 button-container col-center">
    <button class="button button-clear send" type="submit" ng-click="addComment()" ng-disabled="comment_form.$invalid">
        Send
    </button>
    </div>
</form>

Это мой весь контролер. Конечным результатом является публикация комментария к wordpress, но с моим содержимым формы, возвращающим неопределенное, это немного сложно. (PS его публикация в wordpress и комментарий просто говорят "undefined"):

.controller('EasternInnerCtrl', function ($http, $timeout, $scope, $ionicLoading, $stateParams, $ionicScrollDelegate, $cordovaSocialSharing, $ionicModal, Easternc, AuthService) {
  $scope.eastc = Easternc.get($stateParams.eastcId);



  $ionicModal.fromTemplateUrl('commenter.html', {
    scope: $scope,
    animation: 'slide-in-up'
  }).then(function(modal) {
    $scope.modal = modal
  })  

  $scope.openModal = function() {
    $scope.modal.show()
  }

  $scope.closeModal = function() {
    $scope.modal.hide();
  };

  $scope.$on('$destroy', function() {
    $scope.modal.remove();
  });




  $scope.addComment = function(){
    $ionicLoading.show({
      template: 'Submiting comment...'
    });
    console.log($scope.new_comment);
    Easternc.submitComment($scope.eastc.id, $scope.new_comment).then(function(data){
      if(data.status=="ok"){
        var user = AuthService.getUser();

        var comment = {
          author: {name: user.data.username},
          content: $scope.new_comment,
          date: Date.now(),
          user_gravatar : user.avatar,
          id: data.comment_id
        };
        console.log($scope.new_comment);
        /*$scope.eastc.comments.push(comment);
        console.log(comment);

        $scope.new_comment = "";
        $scope.new_comment_id = data.comment_id;
        $ionicLoading.hide();
        $ionicScrollDelegate.scrollBottom(true);*/
      }
    });
  };

  $scope.sharePost = function(link){ 
    console.log(link);
    window.plugins.socialsharing.share('I just read this article on blah: ', null, null, url);
  };

})

мой консольный журнал показывает: undefined, когда я нажимаю кнопку "Отправить"?

  • 1
    Ваш код работает для меня ... Он показывает "неопределенный", когда вы помещаете console.log непосредственно в функцию addComment?
  • 0
    действительно?? да не определено независимо от того, что я делаю. Я использую это для комментариев и открытия комментариев в модальном. это может помешать?
Показать ещё 4 комментария
Теги:

1 ответ

2
Лучший ответ

Я почти уверен, что модальный получил изолированный охват. Это означает, что $scope.new_comment существует в вашем контроллере.

Вы должны попробовать следующее:

$scope.addComment = function(comment){
    Easternc.submitComment($scope.eastc.id,comment).then(function(data){
        console.log(comment); 
    });
};

с этим в вашем html

<button class="button button-clear send" type="submit" ng-click="addComment(new_comment)" ng-disabled="comment_form.$invalid">
    Send
</button>

Надеюсь, это помогло.

  • 0
    Вы официально великолепны! любезно спасибо Я буду помнить об этой изолированной области видимости в следующий раз, когда попытаюсь придумать, ха-ха.

Ещё вопросы

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