在我的控制器中我可以打电话:
$scope.list[0];
Run Code Online (Sandbox Code Playgroud)
访问我的数组中的第一项.有没有办法做到这一点,记住过滤器.
例如,我有:
filter:search
Run Code Online (Sandbox Code Playgroud)
在我的重复,我怎么能调用$ scope.list [0]; 等于第一个搜索结果?
我正在寻找一个允许用户在层次结构的下拉列表中查看元素的指令.SELECT标签支持.但这只允许2个级别.我想展示大约5个级别.对于.eg
亚洲
---日本
------东京
------冲绳
用户将能够在任何级别选择项目.
用户可以选择亚洲,日本或东京.所有这些选项都将显示在一个下拉列表中.我不是在寻找级联选择,其中您首先选择大陆,然后选择国家,然后选择城市.
对此有角度指示吗?
谢谢,
Yash
我已经从JSON数据动态创建了一些链式选择框,我将从服务器收到这些数据.链接/级联的工作方式是每个选择框都是具有以下属性的命名对象:
选项:选项对象的数组,其中每个对象包含:(a)选项值(b)父选项值 - 用于映射当前值的父选择框值.(c)选项ID.
选定选项:具有两个属性的对象:(a)当前选定的值(b)当前所选值的ID.
我在"选项"标签中使用ng-repeat创建选择框,或者在"select"标签中使用ng-option,然后我使用自定义过滤器,我通过匹配父选项值来过滤检索到的选项(2) (2> b)选项值(2> a)与其父对象的"当前选择值"(3> a).基本上使用自定义过滤器从子选项值到选定父值进行多对一映射.
我能够正确映射父子选择框,但问题是当我更改父选择框值时,其子对象的"选定选项值"不会更新(子选择的项目不会抓取筛选列表中的第一项,导致孙子下拉不更新.)[1]
有没有办法,如果父值更改,子选择框(以及后续的子/孙)使用第一个选项值而不是当前空值初始化?
这是工作的plunker.(ng-repeat实施).真的很感激任何帮助.
HTML(ng-repeat):
<div ng-repeat="selection in vm.selectionData">
<div ng-repeat="(key, attribute) in selection.attributes">
<span>{{key}}</span>
<select class="form-control" ng-model="attribute.selectedOption.name">
<option ng-repeat="option in attribute.options | optionFilter : selection.attributes[attribute.parentAttr]">{{option.name}}</option>
</select>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
HTML(ng-options):
<div ng-repeat="selection in vm.selectionData">
<div ng-repeat="(key, attribute) in selection.attributes">
<span>{{key}}</span>
<select ng-model="attribute.selectedOption" ng-options="attribute.name for attribute in (attribute.options | optionFilter : selection.attributes[attribute.parentAttr]) track by attribute.id">
</select>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS:
myApp.filter('optionFilter', …Run Code Online (Sandbox Code Playgroud)