我正在为可能非常容易的事情而苦苦挣扎,但是在 Stackoverlow 上搜索数小时并没有帮助。
我正在使用特雷弗爵士和 MEANJS。特雷弗爵士将自己应用于 textarea 字段并将其内容保存为 JSON 字符串。
特雷弗爵士将其内容保存到一个字段中Content
,该字段被设置为Object
猫鼬模式中的一种类型。
创建效果很好,一切都按预期保存。
但是,在编辑时,数据无法正确显示。文本字段被分配data-ng-model="article.content"
[模型中的“内容”字段],但显示为[object Object]
,因此当 Trevor 爵士尝试解析该值时,它会出错。
我尝试使用指令$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
在代码中一遍又一遍地使用,我能够使其正常工作。这看起来很草率,造成了过度膨胀,并且在尝试在实际视图页面上迭代时也带来了挑战[它被视为String
- 无法弄清楚如何解析]。
我假设我需要在article.content
渲染之前以某种方式捕获属性并将值更改为字符串。这是正确的方向吗?