javascript - 如何检查管道的变化? Angular 文本区域

标签 javascript html json angular

我有一个带有格式化 json 的文本区域。允许用户在该文本区域中进行更改。但是由于 json 管道,我不能使用 [(ngmodel)}。此外 (change)(ngModelChange) 似乎没有触发任何东西。如何捕获用户更改?

data: string = '{"a":1,"b":2,"c":{"d":3, "e":4}}';

ngOninit(){
this.data= JSON.parse(this.data);
}

 saveUserChanges(){
 console.log(this.data)
}

HTML

<text area (ngModelChange)="saveUserChanges()">{{data | json}}</textarea>
<button (click)="saveUserChanges()">save</button>

最佳答案

您可以使用 [ngModel] 绑定(bind)值并使用 (ngModelChange) 设置新值:

<textarea [ngModel]="data | json" (ngModelChange)="saveUserChanges($event)"></textarea>

在组件类中,saveUserChanges定义为:

saveUserChanges(value) {
  this.data = JSON.parse(value);
}

参见 this stackblitz用于演示。

关于javascript - 如何检查管道的变化? Angular 文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55618713/

相关文章:

javascript - Three.js - 导入带有纹理的 3d 对象

javascript - 当 Webview 元素移动到包含 DOM 时防止 Electron 的 WebView 重新加载的方法

黑莓上的 Javascript 回调

jquery - 将 .each() 、 html() 存储在单个变量或数组中以供进一步使用

javascript - jQuery 表单提交刷新页面

javascript - 页面刷新后在 Angular 中保存当前选定的 <li>

html - 使用 Bootstrap 是不好的做法吗?

java - Wildfly 16,注释@JsonIgnore不起作用

android - 解析 json 提要并将详细信息保存在共享首选项中?

python - 使用 Python 解析 JSON 文件中的数据