2015-09-17 33 views
0

我发现,我可以通过以下没有问题做到这一点,直到我得到的地方,我还需要为可编辑和传送回保存如果更新。我需要预先填充<textarea>用JSON项目

这里是工程中加入当前项目的JSON数据的指令:(SO上找到) - AngularJS: textarea bind to JSON object shows "object-object"

app.directive('jsonText', function() { 
    return { 
     restrict: 'A', 
     require: 'ngModel', 
     link: function(scope, element, attr, ngModel) { 
      function into(input) { 
       return JSON.parse(input); 
      } 
      function out(data) { 
       return JSON.stringify(data); 
      } 
      ngModel.$parsers.push(into); 
      ngModel.$formatters.push(out); 

     } 
    }; 
}); 

这里是HTML,这适用于预填充,但我需要ngModel也需要插入,以便我可以保存数据以进行编辑。

<textarea json-text ng-model="review" id="review" class="form-control" rows="3" ng-bind="encounterNote"></textarea> 

所以最终我需要一种方法来预填一个(可能是从一个JSON API的几行文字),允许进行编辑,然后保存功能我已经提到“当前“值来保存和更新。

+0

为什么你需要解析和序列化呢?如果API返回JSON,则应该能够将返回的JSON作为字符串处理,并将该字符串作为模型。然后,您可以将该模型作为字符串重新发送回API。看起来你的问题源于你的模型是一个合适的JS对象,当你需要的只是一个JSON字符串。 – devinallenaz

+0

如果它只是文本,这没有任何意义,它似乎你需要修改传递给'ng-model'什么数据看起来像什么? – charlietfl

回答

0

@devinallenaz是正确的,只是用ngModel在textarea的工作就像一个魅力。

现在我觉得哑巴。

相关问题