2017-09-04 54 views
-2

我试图嵌套两个脚本,但第二个打开和关闭,关闭第一个而不是第二个打开。可以嵌套几个角度脚本?

我在前端使用AngularJS。

的结构如下:

    <list-form acordeon="true" label="admin.libro.form.libroEdiciones" list="ctrl.item.ediciones" 
           resolve="{openPaisModal: ctrl.openPaisModal, 
             openCiudadModal: ctrl.openCiudadModal, ciudadService: ctrl.ciudadService, 
             paisService: ctrl.paisService}" 
           required="true" 
           template-url="libro.edicion.html"> 
        </list-form> 

        <script type="text/ng-template" id="edicion.agente.html"> 
         <uib-accordion close-others="oneAtATime" class="col-sm-12"> 
          <div uib-accordion-group class="panel-default" is-open="element.desplegado" 
           heading="{{element.id ? element.nombre : 'admin.traduccion.form.nuevoAgente' | translate}}"> 

           <div class="row"> 

            <div class="col-sm-10 col-sm-offset-1"> 
             <div class="form-group"> 
              <label-form key="admin.libro.form.nombre" for="nombre" required="true"></label-form> 
              <input class="form-control" id="nombre" ng-model="ctrl.item.nombre" required> 
             </div> 
            </div> 

           </div> 

           <div class="row"> 

            <!-- Inside this row I'm trying to create another list-form and its script -->* 

           </div> 

          </div> 
         </uib-accordion> 
        </script> 

有没有办法做到这一点?


编辑1

我并不想异步加载脚本。在代码中添加了我的解决方案。

+2

不,你不能那样做。你能描述一下你面临的实际问题吗?因为在脚本中放置一个脚本听起来像是对这个问题的错误答案。 – csmckelvey

+0

[异步加载脚本]的可能重复(https://stackoverflow.com/questions/7718935/load-scripts-asynchronously) – lumio

+0

这不是一个重复的@lumio,是不同的问题。 谢谢大家。 –

回答

0

我试图做的是:

     <list-form acordeon="true" label="admin.libro.form.libroEdiciones" list="ctrl.item.ediciones" 
            resolve="{openPaisModal: ctrl.openPaisModal, 
              openCiudadModal: ctrl.openCiudadModal, ciudadService: ctrl.ciudadService, 
              paisService: ctrl.paisService}" 
            required="true" 
            template-url="libro.edicion.html"> 
         </list-form> 

         <script type="text/ng-template" id="edicion.agente.html"> 
          <uib-accordion close-others="oneAtATime" class="col-sm-12"> 
           <div uib-accordion-group class="panel-default" is-open="element.desplegado" 
            heading="{{element.id ? element.nombre : 'admin.traduccion.form.nuevoAgente' | translate}}"> 

            <div class="row"> 

             <div class="col-sm-10 col-sm-offset-1"> 
              <div class="form-group"> 
               <label-form key="admin.libro.form.nombre" for="nombre" required="true"></label-form> 
               <input class="form-control" id="nombre" ng-model="ctrl.item.nombre" required> 
              </div> 
             </div> 

            </div> 

            <div class="row"> 

             <!-- Inside this row I was trying to create another list-form and its script -->* 

            </div> 

           </div> 
          </uib-accordion> 
         </script> 

的解决方案是在相同的高度上一个创建行和脚本中的列表形式。

只需使用list-form中的template-url调用它即可。

谢谢大家。

+1

为什么不创建第二个组件或递归使用组件? – lumio

+0

这些是API休息中不同的实体,不同的组件,我也需要能够显示表单来规范postgres中的数据库。 可能还有其他解决方案。但是这个为我工作。 非常感谢您的意见@ lumio –

0

不,你不能这样做。

您可以合并两个脚本作为单独的文件,如:但你可以将代码从第二个脚本文件和过去的第一个脚本文件中的代码复制,那么你只需要调用第一个脚本文件。