使用 ng-click 和 ng-repeat 创建过滤器菜单
Using ng-click with ng-repeat to create a filter menu
我正在尝试使用 ng-repeat 创建我的过滤器菜单,所有模式都在我的时间轴中。
<a ng-click="filterModality = {entry_team.name: '{{modality}}'}" ng-repeat="modality in modalities">{{modality}}</a>
<!--
Output
<a ng-click="filterModality = {entry_team.name: 'Atletismo'}" ng-repeat="modality in modalities">Atletismo</a>
-->
<a ng-click="filterModality = {entry_team.name: 'Atletismo'}">Atletismo</a>
ng-repeat 不起作用,但手动执行的相同输出工作正常。
我正在使用 AngularJS 1.2.9(不幸的是)。
您似乎将插值与双向绑定混合在一起。此外,您正在 ng-repeat 范围内设置一个对象引用,这可能会在该范围内创建一个新的对象引用,然后在父范围内屏蔽相同名称的引用。
尝试使用 filterModality = {}
在父范围中定义您的对象,然后只需更改 ng-click 中的 属性 值而不是更改对象引用。
<a ng-click="filterModality['entry_team.name'] = modality" ng-repeat="modality in modalities">{{modality}}</a>
我正在尝试使用 ng-repeat 创建我的过滤器菜单,所有模式都在我的时间轴中。
<a ng-click="filterModality = {entry_team.name: '{{modality}}'}" ng-repeat="modality in modalities">{{modality}}</a>
<!--
Output
<a ng-click="filterModality = {entry_team.name: 'Atletismo'}" ng-repeat="modality in modalities">Atletismo</a>
-->
<a ng-click="filterModality = {entry_team.name: 'Atletismo'}">Atletismo</a>
ng-repeat 不起作用,但手动执行的相同输出工作正常。 我正在使用 AngularJS 1.2.9(不幸的是)。
您似乎将插值与双向绑定混合在一起。此外,您正在 ng-repeat 范围内设置一个对象引用,这可能会在该范围内创建一个新的对象引用,然后在父范围内屏蔽相同名称的引用。
尝试使用 filterModality = {}
在父范围中定义您的对象,然后只需更改 ng-click 中的 属性 值而不是更改对象引用。
<a ng-click="filterModality['entry_team.name'] = modality" ng-repeat="modality in modalities">{{modality}}</a>