Angularjs 如何根据ng repeat中的条件添加容器div?

Angularjs 如何根据ng repeat中的条件添加容器div?,angularjs,Angularjs,如何在ng repeat中根据特定条件添加div容器?基本上我想把主容器分成多个部分。以下是代码的示例片段: <div class="content-wrapper"> <div class="content" ng-repeat="metadata in $ctrl.pages" ng-class="metadata.page.title"> <div class='page_section_

如何在ng repeat中根据特定条件添加div容器?基本上我想把主容器分成多个部分。以下是代码的示例片段:

<div class="content-wrapper">
      <div class="content"
           ng-repeat="metadata in $ctrl.pages"
           ng-class="metadata.page.title">
        <div class='page_section_title' ng-repeat="control in metadata.page.controls | orderBy:'sequence'">   

          //based on type of control - control.type, I want to divide controls into multiple sections - like
          //if(control.type === 'title'){
               <div class='page_title'>
                    <customControl control = 'control'..></customControl>
               </div>
          // } else {
                <div class='page_content'>
                    <customControl control = 'control'..></customControl>
               </div>
         // }
        </div>
      </div>

      <footer></footer>
    </div>

//根据控件的类型-control.type,我想将控件划分为多个部分,如
//如果(control.type==='title'){
//}其他{
// }
在这里,我想通过添加container div来创建单独的控件组。有什么方法可以做到这一点吗?


<div class="content-wrapper">
      <div class="content"
           ng-repeat="metadata in $ctrl.pages"
           ng-class="metadata.page.title">
        <div class='page_section_title' ng-repeat="control in metadata.page.controls | orderBy:'sequence'">   

          //based on type of control - control.type, I want to divide controls into multiple sections - like
          //if(control.type === 'title'){
               <div class='page_title' ng-if="control.type == 'title'">
                    <customControl control = 'control'..></customControl>
               </div>
          // } else {
                <div class='page_content' ng-if="control.type == 'content'">
                    <customControl control = 'control'..></customControl>
               </div>
         // }
        </div>
      </div>

      <footer></footer>
    </div>
//根据控件的类型-control.type,我想将控件划分为多个部分,如 //如果(control.type==='title'){ //}其他{ // }
使用ng if实现您的愿望。 只有当条件为true时,才会创建容器,否则不会

语法:

<element ng-if="expression"></element>

如果“expression”的计算结果为true,则元素将添加到DOM中,否则不会添加到DOM中。


//根据控件的类型-control.type,我想将控件划分为多个部分,如
//如果(control.type==='title'){
//}其他{
// }
使用ng if实现您的愿望。 只有当条件为true时,才会创建容器,否则不会

语法:

<element ng-if="expression"></element>

如果“expression”的计算结果为true,则元素将添加到DOM中,否则不会添加到DOM中。

最好的方法是使用以下方法:

<div ng-class="{'page_title': control.type == 'title', 'page_content': control.type == 'content'}">
     <customControl control = 'control'..></customControl>
</div>

最好的方法是使用以下方法:

<div ng-class="{'page_title': control.type == 'title', 'page_content': control.type == 'content'}">
     <customControl control = 'control'..></customControl>
</div>


谢谢,但我想将“页面章节标题”容器主要分为两个不同的章节/部分,一部分包含“标题”,另一部分应包含多个控件的集合。我希望在“if(){}”语句中使用类似“else{}”的语句。您在问题中提到了if和else作为注释。如果这是您想要的,那么ngif将按照我的建议工作,比如ngif=“control.type=='title'”和ngif=“control.type=='content'”。如果您需要其他内容,请解释。好的,假设您在数组中的对象上有一个集合,每个对象都有名为type的属性,对象可以有不同的类型(例如,标题、输入、选择、分隔符、复选框等)。类型属性为“title”的对象应添加到一个具有某些类名的容器中,类型“title”以外的任何(剩余)对象应添加到另一个具有某些类名的容器中。谢谢,但我想将“page\u section\u title”容器主要分为两个不同的部分/部分,其中一部分包含“title”其他部分应包含多个控件的集合。我希望在“if(){}”语句中使用类似“else{}”的语句。您在问题中提到了if和else作为注释。如果这是您想要的,那么ngif将按照我的建议工作,比如ngif=“control.type=='title'”和ngif=“control.type=='content'”。如果您需要其他内容,请解释。好的,假设您在数组中的对象上有一个集合,每个对象都有名为type的属性,对象可以有不同的类型(例如,标题、输入、选择、分隔符、复选框等)。类型属性为“title”的对象应添加到具有某些类名的一个容器中,类型“title”以外的任何(剩余)对象应添加到具有某些类名的另一个容器中。