我有一个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设置为等于所有各种联盟,因此各个联盟的列表正确填充。每当我访问此表单时,现有保存的联盟都不会显示为已选中。我需要更改我的选择表达式才能正确保存财团?
在从行星模型提供数据时,我正在填充联盟,因此在浏览器中,您确实获得了上述所有数据。在那。但我只是不知道我应该用这个选择表达式做什么。任何帮助都会非常感激!!
答案 0 :(得分:2)
select(ng-model='form.consortium._id', name='consortium._id', ng-options="consortium._id as consortium.name for consortium in consortia")
工作得很好。