нажмите открыть все входные данные. Может ли директива быть полезной?

0

При щелчке по ссылке "ответ" открываются все теги ввода, связанные с ng-show. Как я могу изменить его, чтобы просто открыть соседний входной тег ссылки "ответить"? Например, как в Facebook при нажатии на ответ открывается только соседний входной тег. Число blockquote бесконечно, поскольку данные будут поступать из бэкэнд. так как мы можем динамически управлять blockquote?

angular.module("myDiscuss", [])
  .controller("TabController", function() {
    this.tab = 0;
    this.subTab = 0;
    this.like = 0;
    this.selectLike = function(setTab) {
      this.like = setTab;
    };
    this.selectTab = function(setTab) {
      this.tab = setTab;
    };
    this.selectSubTab = function(setTab) {
      this.subTab = setTab;
    };
    this.isSelected = (function(checkTab) {
      return this.tab === checkTab;
    });
    this.isSelectedSub = (function(checkTab) {
      return this.subTab === checkTab;
    });
    this.isSelectedLike = (function(checkTab) {
      return this.like === checkTab;
    });

  });
<div class="thumbnail" style="border-radius: 0px;" ng-controller="TabController as tabs">
  <ul class="nav nav-pills">
    <li role="presentation" ng-class="{ active:like === 1 }">
      <a href ng-click="tabs.selectLike(1)" class="glyphicon glyphicon-thumbs-up">Helpful</a>
    </li>
    <li ng-class="{ active:tab === 2 }">
      <a href ng-click="tabs.selectTab(2)" class="glyphicon">Comment</a>
    </li>
  </ul>
  <div class="panel" ng-show="tabs.isSelected(2)">
    <blockquote>
      <img src="../images/cover.jpg" class="img-reponsive pull-left">
      <div style="overflow: hidden;">
        <h4>Name</h4>
        <p>.......</p>
      </div>
      <div ng-show="tabs.isSelectedSub(3)">
        <small>....</small>
      </div>
      <ul class="nav nav-pills">
        <li ng-class="{ active:subTab === 3 }">
          <a href ng-click="tabs.selectSubTab(3)" class="glyphicon ">Helpful</a>
        </li>
        <li ng-class="{ active:subTab === 4}">
          <a href ng-click="tabs.selectSubTab(4)" class="glyphicon">Reply</a>
        </li>
      </ul>
      <div style="overflow:hidden" ng-show="tabs.isSelectedSub(4)">
        <img src="../images/cover.jpg" class="img-reponsive pull-left">
        <input class="col-sm-8 col-md-8 col-lg-11" type="text">
      </div>
    </blockquote>
    <blockquote>
      <img src="../images/cover.jpg" class="img-reponsive pull-left">
      <div style="overflow: hidden;">
        <h4>Name</h4>
        <p>.......</p>
      </div>
      <div ng-show="tabs.isSelectedSub(3)">
        <small>....</small>
      </div>
      <ul class="nav nav-pills">
        <li ng-class="{ active:subTab === 3 }">
          <a href ng-click="tabs.selectSubTab(3)" class="glyphicon ">Helpful</a>
        </li>
        <li ng-class="{ active:subTab === 4}">
          <a href ng-click="tabs.selectSubTab(4)" class="glyphicon">Reply</a>
        </li>
      </ul>
      <div style="overflow:hidden" ng-show="tabs.isSelectedSub(4)">
        <img src="../images/cover.jpg" class="img-reponsive pull-left">
        <input class="col-sm-8 col-md-8 col-lg-11" type="text">
      </div>
    </blockquote>
  </div>

Изображение при нажатии на ссылку "ответ":

Изображение 174551

1 ответ

0

Эта проблема кричит для директивы по двум причинам. 1) Многоразовый компонент 2) Предоставьте выделенные области, которые помогут содержать каждый из этих ответов. Области изолята значительно упростят сохранение каждого компонента.

  • 0
    Если вам нужна помощь в создании этой директивы, я бы предложил обновить вопрос, чтобы узнать, может ли кто-нибудь помочь с их временем.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню