iNickolay
@iNickolay

Как скрыть/показать блок в ng-repeat?

Здравствуйте! Имеем примитивную структуру:
html:
<ol id="list_2" class="list_2" ui-sortable="SortCtrl.list2Options" ng-model="SortCtrl.list2">
    <li ng-repeat="app in SortCtrl.list2" <!--если вставить сюда ng-click, PHPStorm ругается что он "not allowed here" -->> {{ app.name }} </li>
</ol>

<ol ng-model="SortCtrl.list2">
    <li class="list-type-option" ng-repeat="app in SortCtrl.list2">
        <input type="text" ng-model="app.name"> <input type="text" ng-model="app.type">
    </li>
</ol>


js:
(function () {
    angular
        .module('testSortable', [])
        .controller('TestSortableController', function () {
            this.list2 = [
                { name: "another name", type: "input" },
                { name: "another second name", type: "result" }
            ];
        });

})();


Не могу понять как организовать скрытие/показ блоков (li) второго списка при клике на первом (li)

P.S.
  • Вопрос задан
  • 216 просмотров
Решения вопроса 1
Как-то так, a можно на button заменить, php-storm ругается видно из-за семантики
<ol id="list_2" class="list_2" ui-sortable="SortCtrl.list2Options" ng-model="SortCtrl.list2">
    <li ng-repeat="app in SortCtrl.list2"> 
       <a ng-click="app.visible = !app.visible">{{ app.name }}</a> 
    </li>
</ol>

<ol ng-model="SortCtrl.list2">
    <li class="list-type-option" ng-repeat="app in SortCtrl.list2" ng-show="app.visible">
        <input type="text" ng-model="app.name"> <input type="text" ng-model="app.type">
    </li>
</ol>


(function () {
    angular
        .module('testSortable', [])
        .controller('TestSortableController', function () {
            this.list2 = [
                { name: "another name", type: "input", visible: true },
                { name: "another second name", type: "result", visible: true }
            ];
        });

})();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы