AngularJS:使用特定键更新模态中的JSON

时间:2016-04-03 01:22:41

标签: javascript angularjs json

使用特定密钥更新json的最佳做法是什么? 在我的情况下,我想更新来自“未回答”的反馈。回答'

[
  {
    "id": "34",
    "mac_address": "cd:9e:17:64:1b:42",
    "question": "Help me",
    "time": "2016-03-16 16:22:08",
    "is_answered": false
  }
]

  [
      {
        "id": "34",
        "mac_address": "cd:9e:17:64:1b:42",
        "question": "Help me",
        "time": "2016-03-16 16:25:29",
        "is_answered": true
      }
    ]

我的客户反馈有一些列表:

<div class="parent" ng-repeat="customer in customers">
  <h2>{{customer.id}}</h2>
  <p>{{customer.question}}</p>
  <h4 ng-show="{{customer.is_answered}}">Answered</h4>
  <h4 ng-show="!{{customer.is_answered}}">Not Answered</h4>
  <button ng-show="!{{customer.is_answered}}" ng-click="showModal()">Reply</button>
</div>

当我点击回复按钮时,会出现带有一些输入的模态以回应我的客户投诉。

<div id="modal">
<textarea placeholder=""response></textarea>
<button ng-click="submit()">Reply</button>
</div>

我想根据反馈ID更新,再次,最佳做法是什么?

2 个答案:

答案 0 :(得分:1)

您可以使用showModal调用传递customer对象。

<div class="parent" ng-repeat="customer in customers">
  <h2>{{customer.id}}</h2>
  ...
  <button ng-show="!{{customer.is_answered}}" ng-click="showModal(customer)">Reply</button>
</div>

在您的控制器内部,保存此传递给客户。模态关闭后,更新该客户的is_answered属性。

 $scope.showModal = function (customer) {
   var selected_customer = customer;

   var modalInstance = $uibModal.open({
     templateUrl: 'myModalContent.html',
     controller: 'ModalInstanceCtrl',
     customer: customer
   });

   modalInstance.result.then(function () {
    selected_customer.is_answered = true;
   }
};

答案 1 :(得分:0)

根据Pass input value to $mdDialog找到我的解决方案。

    vm.showModal = function(e, message) {

      $mdDialog.show({
        clickOutsideToClose:true,
        // locals:{ name: 'Bob'},
        controller: function ($mdDialog) {
          var vm = this;
          vm.message = {};
          vm.message = message;

          $scope.hide = function () {
            $mdDialog.hide();
          };
          $scope.cancel = function () {
            $mdDialog.cancel();
          };
        },
        controllerAs: 'modal',
        templateUrl: 'feedbackForm.html',
        parent: angular.element(document.body),
        targetEvent: e,
      });
    };

在我看来:

<h5 style="">{{modal.message.id}}</h5>

谢谢你们