2017-09-04 47 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

不,你不能這樣做。

您可以合併兩個腳本作爲單獨的文件,如:但你可以將代碼從第二個腳本文件和過去的第一個腳本文件中的代碼複製,那麼你只需要調用第一個腳本文件。