可以嵌套几个角度脚本吗?

时间:2017-09-04 11:26:38

标签: javascript angularjs

我试图嵌套两个脚本,但第二个脚本打开和关闭,关闭第一个脚本而不是我打开的第二个脚本。

我在前端使用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 个答案:

答案 0 :(得分:0)

不,你不能这样做。

您可以将这两个脚本合并为单个文件,例如:但您可以从第二个脚本文件中复制代码并通过第一个脚本文件中的代码,然后您只需调用第一个脚本文件。

答案 1 :(得分: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调用它。

谢谢大家。