angularjs的ng选项中的解析对象使用嵌套json选择下拉菜单
Parsing object in ng-options for angularjs select drop down using nested json
我有以下json:
[
{
"normal" :{
"font": "Burlington Script.ttf",
"fontFamily": "sf_burlington_scriptregular",
"fontName": "Burlington Script"
},
"bold" : {
"font": "SF_Burlington_Script_Bold.ttf",
"fontFamily": "sf_burlington_scriptbold",
"fontName": "Burlington Script"
},
"italic" : {
"font": "SF_Burlington_Script_Italic.ttf",
"fontFamily": "sf_burlington_scriptitalic",
"fontName": "Burlington Script"
},
"bold-italic": {
"font": "SF_Burlington_Script_Bold_Italic.ttf",
"fontFamily": "sf_burlington_scriptBdIt",
"fontName": "Burlington Script"
}
},
{
"normal" :{
"font": "Some_Script.ttf",
"fontFamily": "Some_scriptregular",
"fontName" : "Some Script"
},
"bold" : {
"font": "Some_Script_Bold.ttf",
"fontFamily": "Some_scriptbold",
"fontName" : "Some Script"
},
"italic" : {
"font": "Some_Script_Italic.ttf",
"fontFamily": "Some_scriptitalic",
"fontName" : "Some Script"
},
"bold-italic": {
"font": "Some_Script_Bold_Italic.ttf",
"fontFamily": "Some_scriptBdIt",
"fontName" : "Some Script"
}
}
]
我想做的是在下拉菜单中只显示"normal"下的fontName,并且值为fontFamily。
我试过
<select
ng-model="selectedFont"
ng-options="fonts as fonts.normal.fontName for fonts in designFonts" required>
</select>
但没有运气。我正在将控制器中的$scope.designFonts设置为json是什么。
您可以使用ng选项表达式的select as
部分来设置在选择选项时设置ng模型值所需的内容。因此fonts.normal.fontFamily as fonts.normal.fontName for fonts in designFonts
并使用track-by将选项值设置为相应的值(track-by始终应用于值)。
尝试:-
<select
ng-model="selectedFont"
ng-options="font as font.normal.fontName for font
in designFonts track by font.normal.fontFamily"
required></select>
演示
如果您使用font.normal.fontFamily as font.normal.fontName
将使用相应的fontFamily设置ng模型,如果您需要整个对象作为ng模型,则使用现在的方式。
好吧,可能有一个ng-select错误,你不能在同一个字段上同时使用select as
和track by
,这会导致选择问题,尽管应用了ng-model
。所以你可以使用:-
ng-options="font as font.normal.fontName for font
in designFonts track by font.normal.fontFamily"
但你不能
ng-options="font.normal.fontFamily as font.normal.fontName for font
in designFonts track by font.normal.fontFamily"
相关文章:
- 访问嵌套JSON对象的键,其中键是动态的
- 从多维嵌套json数组创建下拉列表
- 带嵌套json的下划线js查找
- 返回嵌套JSON中包含特定键的所有值
- 嵌套JSON到平面HTML表
- 原型Ajax请求参数为嵌套json
- 从对象数组中动态创建嵌套json
- ExtJS 4.1-检索嵌套JSON的hasOne信息
- 更新嵌套json Angularjs中的对象
- 访问嵌套 json 对象的属性将返回未定义
- 如何解析没有键的嵌套json's的javascript
- 显示嵌套json集合的主干
- 列表中呈现的骨干嵌套json对象
- 如何使用promise来反规范化嵌套json
- 正在读取嵌套json,jquery返回undefined
- Ionic/Angular:如何在嵌套json中导航
- 如何访问AngularJs中的嵌套Json对象
- 使用Javascript查找并更新嵌套JSON数组和对象中的所有键值
- 如何获取给定表单详细信息的嵌套json对象
- 通过Javascript中的递归迭代映射嵌套JSON