【问题标题】:Bind Data gives ID along with other data绑定数据提供 ID 以及其他数据
【发布时间】:2015-07-29 08:51:47
【问题描述】:

我正在尝试使用此代码绑定数据:

    {{company.category}} | {{company.locations[0]}}
    {{company.company_name}}

输出是:

    [{"id":1,"category":"Advertising and Agencies"},{"id":2,"category":"Arts and Music"},{"id":3,"category":"Client Services"},{"id":4,"category":"Consumer"},{"id":5,"category":"Education"}] | {"id":1,"cities":"Delhi"}
    Microsft Corp

我不知道为什么会有这么多大括号和 id。我哪里错了?我正确显示了 company_name。

【问题讨论】:

  • 查看您提供的信息,我会说您的模型在company.category 中包含一个列表,这就是正在显示的内容。
  • 这是从网络捕获的:> category: [{id: 1, category: "Advertising and Agencies"}, {id: 2, category: "Arts and Music"},...] 0 : {id: 1, category: "广告和代理机构"} 1: {id: 2, category: "艺术和音乐"} 2: {id: 3, category: "客户服务"}
  • 你正在打印整个数组和它显示的对象,其中你的名字是一个单一的 arribute,所以它显示正确..问题在于你的表示

标签: angularjs angularjs-ng-repeat angularjs-bindings


【解决方案1】:

这是描述 javascript 对象的 JSON 符号。

至于显示的原因:看起来company.category 包含一个对象数组。

通过指定要显示的数组之外的对象和属性来解决此问题。

例如:

company.category[0].category

=> 顺便说一下,这是一些真正令人困惑的属性命名,您可能应该更合理地命名它以避免混淆。

|后面的代码,那也只是一个对象,显示你需要的属性名,例如:

{{company.locations[0].cities}}

【讨论】:

  • 一直在挠头一个多小时!!非常感谢 :) 如果允许,我会在 7 分钟内接受您的回答。
【解决方案2】:

首先,company 应该是您的模型。然后在此你需要有categorycompany_namelocations 的数组的属性。 id 看起来是模型上的一个属性,并且很可能是使每条记录唯一的关键。然后你就可以绑定了。花括号 {{ }} 是为了让 Angular 知道这是它需要知道的东西,也是一种将 Angular 与常规 html 等分开的方法。

【讨论】:

    猜你喜欢
    • 2019-11-12
    • 2016-10-10
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    相关资源
    最近更新 更多