angular - 如何在 codemirror 上显示 JSON?

标签 angular codemirror

目前我正在使用 ngx-codemirror - codemirror 上的 Angular 包装器。

在我的应用程序中

html 显示

<ngx-codemirror [(ngModel)]="data" [autoFocus]=true [options]="{lineNumbers: true,theme: 'material',mode: 'markdown'}"></ngx-codemirror>

如图所示

data='';
   json = {
        "title": "Type",
        "description": "A type of product",
        "type": "object"
  };

constructor(){
      this.data = JSON.stringify(this.json);
}

它在一行中正确显示了 json 文本,但我想在一行中以 json 格式而不是字符串显示它。

我该怎么做?

最佳答案

您可以在 JSON.stringify() 中发送一个空的空白字符作为 space 参数方法。尝试以下操作

Controller

data = '';
json = {
  "title": "Type",
  "description": "A type of product",
  "type": "object"
};

ngOnInit() {
  this.data = JSON.stringify(this.json, null, ' ');    // <-- string literal ' ' as `space` argument  
}

您还可以通过发送数字来修改缩进空间。例如。 JSON.stringify(this.json, null, 4)表示缩进4个空格

模板

<ngx-codemirror #codemirror
  [options]="codeMirrorOptions"
  [(ngModel)]="data"
  (ngModelChange)="setEditorContent($event)">
</ngx-codemirror>

工作示例:Stackblitz

关于angular - 如何在 codemirror 上显示 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62189788/

相关文章:

javascript - 如何在iframe中输出codemirror的结果?

javascript - 将 DIV 动态 append 到 CodeMirror(不替换初始代码)

javascript - CodeMirror 2 - 隐藏文本区域取消隐藏后编辑器高度错误

javascript - 如何在 Angular 中进行其他导入之前从第三部分脚本导入全局变量?

angular - 关闭前一个后,一个一个地打开几个mat-dialogs

ajax - 元组的 Angular HTTP 可观察对象

angular - 如何在DataTable中使用带有命令和参数的Primeng菜单?

javascript - Codemirror 键盘映射 vim <Esc> 不工作

javascript - 如何在文件来自 JSON 的 Angular 中编辑和更新数组项

angular - 多次调用angular2路由守卫