【问题标题】:How to deal with nested data in Angular.js select in a form?如何处理Angular.js中的嵌套数据选择表单?
【发布时间】:2013-08-02 19:31:50
【问题描述】:

我有一个 node.js 应用程序,其中表单有一个选择器。该应用程序通过 mongoose 从 mongodb 加载数据并填充嵌套的引用对象。所以我的数据看起来像:

{ "__v" : 0,
  "_id" : ObjectId( "51199c96c13e06ae33000001" ),
  "consortium" : 
     { _id: '510f234198e6c75a3a1b43eb',
       imageURLsm: '/asdf.jpg',
       name: 'COOLNAME' },
  "description" : "My Description",
  "gdp" : 1234,
  "imageURL" : "http://foo.com",
  "location" : "http://bar.com",
  "name" : "My Cool Name",
  "ownerKey" : "d15e6de2-66c0-4e0c-a0bc-2023b65e87d0",
  "ownerName" : "Asdf Jkls",
  "parcelId" : "eb7fxbc4-581f-83c7-6abe-6e1e0474520f",
  "people" : 1 }

然后在我的玉模板中我有:

div.title.name
    label(for='name') Name:
    input(ng-model='form.name', name='name')
div.title.description
    label(for='description') Description:
    textarea(ng-model='form.description', name='description', cols='50', rows='15')
div.title.consortium.name
    label(for='consortium.name') Consortium:
    select(ng-model='form.consortium.name', name='consortium.name', ng-options="consortium.name for consortium in consortia")
div.title.gdp
    label(for='gdp') GDP:
    input(ng-model='form.gdp', name='gdp')
    p
        button(ng-click='savePlanet()') Save

当我单击保存按钮时,它会保存除联盟之外的所有内容。各种财团的列表正确填充,因为在其他地方,我已将 $scope.consortia 设置为等于所有各种财团。每当我访问此表单时,现有保存的联盟都不会显示为选中状态。为了正确保存联盟,我需要对我的选择表达式进行哪些更改?

在提供来自行星模型的数据时,我正确地填充了联盟,因此在浏览器中,您确实获得了上述所有数据。在那里。但我只是不知道我应该用这个选择表达式做什么。任何帮助将不胜感激!

【问题讨论】:

    标签: node.js mongodb angularjs mongoose pug


    【解决方案1】:
    select(ng-model='form.consortium._id', name='consortium._id', ng-options="consortium._id as consortium.name for consortium in consortia")
    

    完美运行。

    【讨论】:

      猜你喜欢
      • 2015-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多