Angularjs 角度使用[ng if]选项选择
我使用的是angular 1.5,我试图对从microsoft graph返回的数据使用一些逻辑,它是完全动态的(键和值),并创建一个下拉列表。我使用一个输入框,但似乎无法使用一个选择框 工作的输入框Angularjs 角度使用[ng if]选项选择,angularjs,html-select,Angularjs,Html Select,我使用的是angular 1.5,我试图对从microsoft graph返回的数据使用一些逻辑,它是完全动态的(键和值),并创建一个下拉列表。我使用一个输入框,但似乎无法使用一个选择框 工作的输入框 <input type="text" name="{{prop.name}}" ng-model="vm.filterValues[prop.name]"> <div ng-repeat="uniqueValue in vm.schemaExtentionsUniqueV
<input type="text" name="{{prop.name}}" ng-model="vm.filterValues[prop.name]">
<div ng-repeat="uniqueValue in vm.schemaExtentionsUniqueValues">
<div ng-if="uniqueValue[0] == prop.internalName || uniqueValue[0] == prop.name">
{{uniqueValue[1]}}
</div>
</div>
{{uniqueValue[1]}
我试图构建的“选择框”中存在无法正常工作的错误:
<select name="{{prop.name}}" ng-model="vm.filterValues[prop.name]">
<span ng-repeat="uniqueValue in vm.schemaExtentionsUniqueValues">
<span ng-if="uniqueValue[0] == prop.internalName || uniqueValue[0] == prop.name">
<option value="{{uniqueValue[1]}}">{{uniqueValue[1]}}</option>
</span>
</span>
</select>
{{uniqueValue[1]}
数据
任何帮助都将不胜感激。干杯
根据动态属性检查每个数组项中第一项的值。我建议将大量逻辑移到控制器中。这使得模板“干净”,并将代码放在一个更容易访问的地方 这基本上意味着在SchemaExtensionUniqueValue到达要显示的模板之前对其进行过滤/排序
schemeExtentionsUniqueValues(propName) {
// Filter this based on propName passed in;
}
第二个跨度可放入选项btw中:
<select name="{{prop.name}}" ng-model="vm.filterValues[prop.name]">
<span ng-repeat="uniqueValue in vm.schemaExtentionsUniqueValues(prop.name)">
<option ng-if="uniqueValue[0] == prop.internalName || uniqueValue[0] == prop.name"
value="{{uniqueValue[1]}}">{{uniqueValue[1]}}</option>
</span>
</select>
{{uniqueValue[1]}
如果您使用控制器确定SchemaExtensionsUniqueValues中的内容,那么您可能不需要选项标记上的ng If,并且可以像平常一样显示。我建议将大量逻辑移到控制器中。这使得模板“干净”,并将代码放在一个更容易访问的地方 这基本上意味着在SchemaExtensionUniqueValue到达要显示的模板之前对其进行过滤/排序
schemeExtentionsUniqueValues(propName) {
// Filter this based on propName passed in;
}
第二个跨度可放入选项btw中:
<select name="{{prop.name}}" ng-model="vm.filterValues[prop.name]">
<span ng-repeat="uniqueValue in vm.schemaExtentionsUniqueValues(prop.name)">
<option ng-if="uniqueValue[0] == prop.internalName || uniqueValue[0] == prop.name"
value="{{uniqueValue[1]}}">{{uniqueValue[1]}}</option>
</span>
</select>
{{uniqueValue[1]}
如果使用控制器确定SchemaExtensionUniqueValues中的内容,则可能不需要选项标记上的ng If,并且可以正常显示。请在Fiddler或Plunkr中发布数据示例或创建演示。难道您不能简单地使用ng重复列表吗?是否可以根据不来自此数组的其他属性检查筛选值?您可以根据scope-
prop.internalName
中的任何内容筛选:
,以及prop.name
在您的情况下是肯定的@rrd建议尽早进行过滤,但在这种特殊情况下,我认为一个过滤器:
足够干净。请在Fiddler或Plunkr中发布数据示例或创建演示,难道您不能简单地使用ng重复列表吗?是否可以根据不来自此数组的另一个属性检查过滤器值?您可以针对范围内的任何内容过滤器:
prop.internalName
和prop.name
在您的案例中是肯定的@rrd建议尽早进行过滤,但在这种特定情况下,我认为过滤器:
足够干净。我通常会这样做,但[prop.internalName]的值仅在视图的for循环中设置。这与注入html有关,否则我将不得不使用$sce。我稍微修改了它以添加参数,并充实了模式。我通常会这样做,但[prop.internalName]的值仅在视图中的for循环中设置。这与注入html有关,否则我将不得不使用$sce。我稍微修改了它以添加参数,并充实了模式。。