【问题标题】:JSON Object as string for @Input - AngularJSON对象作为@Input的字符串 - Angular
【发布时间】:2021-11-24 17:03:47
【问题描述】:

我有一个组件的 html,其中我有一个名为 info 的属性,该属性在服务文件中引用。问题是 info 是一个 json 字符串,它将在服务中解析(按角度)。我有一个场景,其中 json 的一个值包含引号 (')。问题是我无法绕过 html 中的引用而不遇到编译错误。有没有相同的解决方案?

下面是一个例子sn-p

<my-component id="wt_tab_206_000000010wrap" class="form-group  inlineblock"
                    [info]="{'id':'wt_tab_206_000000010','value':'LoadDatanew','disabled':false,'readonly':false}"
                    filterFields="N"></my-component>

在上面的例子中,[info] 是关注的属性。因为值键应该具有像LoadData'new 这样的值。但是像LoadData\'new 那样解析它并不能解决问题。任何帮助表示赞赏。

【问题讨论】:

  • LoadData\'new 怎么没有解决呢?那肯定行得通。
  • 试试LoadData\\\'new
  • @Wazeed LoadData\\\'new 被解析为 LoadData\'new 这很奇怪!!
  • 使用单个 \ 应该可以工作。

标签: javascript html angular typescript


【解决方案1】:

您可以将数据作为对象传递而无需对其进行字符串化。

就这样传递吧:

<my-component id="wt_tab_206_000000010wrap" class="form-group inlineblock"
                    [info]="obj"
                    filterFields="N">
</my-component>

在您的.ts 文件中:

public obj = {
  id: 'wt_tab_206_000000010',
  value: 'LoadDatanew',
  disabled: false,
  readonly: false
}

【讨论】:

  • 感谢您的建议,但我想知道是否有办法直接在html文件中处理它
  • 这不是 JSON,而是 JavaScript 中 Object 类型的通用结构。
  • 谢谢。我编辑了答案@PhilippMeissner
  • 有行编码和解码的方法,但这是浪费时间,因为您增加了流程,并且在需要时更难更新数据@KrishnaPrashatt
猜你喜欢
  • 1970-01-01
  • 2012-04-22
  • 1970-01-01
  • 2017-11-13
  • 1970-01-01
  • 1970-01-01
  • 2018-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多