好的伙计们,这是我的问题:
我必须制作类别列表,这些类别在选择时仅显示该类别的元素(并隐藏休息)。我决定使用单选按钮/每个类别都有自己的单选按钮。
下一步是添加类别的代码:
APP.js
controller('FamiliesCtrl', function($scope) {
$scope.families = ['All', 'Stark', 'Lannister'....];
$scope.selfamily = {selfam: 'All'};
}).
HTML
<form ng-controller="FamiliesCtrl">
<input type="radio" ng-model="selfamily.selfam" ng-repeat="family in families" ng-value="family" name="selfam">
</form>
我正在尝试在html中触发ng-show,其中包含下一个代码:
<div id="characters" class="row col-xs-9" ng-controller="CharacteresCtrl">
<div class="character col-xs-3" ng-repeat="character in characters | orderBy:sortParameter | limitTo: 120" char-image="{{character.picture}}" ng-show="selfamily.selfam === '{{character.house}}' || selfamily.selfam === 'All'">
<h1>{{character.name}}</h1>
</div>
</div>
好的,现在。如果我以这种格式手动插入类别,这不起作用:
<input class="checkboxHidden" id="first" type="radio" name="selfam" ng-model="selfamily.selfam" value="All">
... and so on...
IT工作。 非常感谢您的帮助。如果我需要提供更多代码,请告诉我。
总结一下,dinamically / programatically添加的类别在ng-show上没有任何功能,而手动添加的工作正常......
答案 0 :(得分:0)
您不需要插值来访问character.house的值。这应该有效:
ng-show="selfamily.selfam === character.house || selfamily.selfam === 'All'"
...
仔细查看代码,单选按钮设置的值存在于与字符列表不同的控制器中。您必须为所有值使用单个控制器,或使用服务在控制器之间共享值。