Angular的ng-repeat类参数绑定

Angular ng-repeat like parameters binding

本文关键字:参数 绑定 ng-repeat Angular      更新时间:2023-09-26

是否有可能绑定有角度的ng-repeat参数来做这样的事情:

ng-repeat="[BIND_THIS]"

此外,我希望能够在这种情况下绑定:

<input type="text" ng-model="customSelected" placeholder="Custom template" typeahead="state as state.name for state in statesWithFlags | filter:{name:$viewValue}" typeahead-template-url="customTemplate.html" class="form-control">

将成为

<input type="text" ng-model="customSelected" placeholder="Custom template" typeahead="[BIND_THIS]" typeahead-template-url="customTemplate.html" class="form-control">

谢谢

如果没有解决方法,您的请求是不可能实现的。来自文档:

指示如何枚举集合的表达式。这些格式当前支持的:

variable in expression -其中变量为用户定义的循环变量和表达式是将集合赋给的作用域表达式列举.

例如:album in artist.albums

(key, value) in expression -其中key和value可以是任何用户定义的标识符,表达式是给出要枚举的集合

例如:(name, age) in {'adam':10, 'amalie':12} .

variable in expression track by tracking_expression -你也可以提供可选的跟踪表达式,可用于关联集合中的对象与DOM元素。如果没有跟踪表达式指定时,ng-repeat按标识关联元素。它是否有一个以上的跟踪表达式值解析为错误同样的钥匙。(这意味着映射到两个不同的对象(这是不可能的)

注意,跟踪表达式必须出现在任何过滤器之后,和别名表达式。

例如:item in items相当于item in items track by $id(item)。这意味着DOM元素将通过数组中的项标识符。

例如:item in items track by $id(item)。内置的$id()函数可用于为每个属性分配唯一的$$hashKey属性项在数组中。然后将此属性用作关联的键数组中对应项的DOM元素。移动数组中相同的对象会移动数组中的DOM元素

例如:item in items track by item.id是典型的模式,当项目来自数据库。在本例中是对象标识没关系。两个对象只要在它们的id属性是相同的。

例如:item in items | filter:searchText track by item.id为a模式,该模式可用于将筛选器应用于组合项使用跟踪表达式。

variable in expression as alias_expression -您也可以提供一个可选的别名表达式,然后存储中间值应用滤波器后的中继器结果。通常这用于在过滤器处于活动状态时呈现特殊消息重复器,但过滤后的结果集为空。

例如:item in items | filter:x as results将存储重复项目的片段作为results,但只在项目之后已通过过滤器处理。

请注意' as[变量名]不是一个操作符,而是一个ngRepeat微语法的一部分,因此它只能在语句的末尾使用

例如:item in items | filter : x | orderBy : order | limitTo : limit as results .

你可以做的是用模板替换创建一个指令。