我正在努力解决一些可能非常简单的事情,但在 Stackoverlow 上搜索数小时并没有帮助。
我正在将 Trevor 爵士与 MEANJS 一起使用。 Sir Trevor 将自身应用于文本区域字段并将其内容保存为 JSON 字符串。
Sir Trevor 正在将其内容保存到字段 Content
,该字段在 Mongoose 架构中设置为 Object
类型。
创作效果很好,一切都按预期保存。
但是,在编辑时,数据无法正确显示。文本字段被分配为 data-ng-model="article.content"
[模型中的“内容”字段],但显示为 [object Object]
,因此当特雷弗爵士尝试解析该值,但出现错误。
我尝试使用带有 $formatters
的指令来更改值:
<textarea data-ng-model="article.content" id="content"
class="form-control st-instance" placeholder="Content" stRaw>
</textarea>
...这是指令:
articleApp.directive('stRaw', function(){
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, element, attr, ngModel) {
function stringIt(val) {
return JSON.stringify(val);
}
ngModel.$formatters.push(stringIt);
}
};
});
但该指令似乎从未被触发过[我在链接函数中尝试了 console.log
但从未看到任何内容]。
我之前可以通过更改架构类型String
,然后在代码中一遍又一遍地使用stringify
来使其正常工作。这看起来很草率,造成了过度的臃肿,并且在尝试在实际 View 页面上进行迭代时也带来了挑战[它被视为String
——无法弄清楚如何解析]。
我假设我需要在渲染之前捕获 article.content
属性并将其值更改为字符串。这是正确的方向吗?
最佳答案
您的 html 中有拼写错误,stRaw
应该是 st-raw
。
<textarea data-ng-model="article.content" id="content" class="form-control st-instance" placeholder="Content" st-raw></textarea>
关于json - ExpressJS/AngularJS : Converting JSON Object to String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25092708/