2014-09-25 4 views
0

Okay, ребята, вот моя проблема:Динамически добавлены входы радио не вызывает нг-шоу

Я должен сделать список категорий, которые показывают только элементы этой категории при выборе (и скрыть остальные). Я решил пойти с переключателями/в каждой категории есть свой переключатель.

Код для добавления категорий является следующий:

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, который имеет следующий код:

<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... 

это работает. Ваша помощь будет высоко оценена. Если мне нужно предоставить больше кода, пожалуйста, дайте мне знать.

Просто подвести итог, динамически/программно добавлена ​​категория не имеет никакой силы на нг-шоу, а добавленные вручную работает просто отлично ...

ответ

0

Вам не нужна интерполяция для доступа к значению character.house , Это должно работать:

ng-show="selfamily.selfam === character.house || selfamily.selfam === 'All'" 

...

Приглядевшись в вашем коде, значение, установленное ваших радиокнопки существует в другом контроллере, чем список символов. Вам нужно будет использовать один контроллер для всех значений или использовать службу для обмена значениями между контроллерами.

+0

Благодарим вас за ответ, но это не решение моей проблемы. Я изменил это, и все одинаково. Проблема должна быть где-то в динамических adedd радиокнопках, но я не могу понять, где они создаются должным образом - каждая радио-кнопка получает правильное значение, но они просто не хотят запускать ng -show, когда значение (семейство) === character.house –

+0

Проблема была связана с двумя контроллерами. Большое спасибо! –

Смежные вопросы