javascript - 动态指令 : templateUrl

标签 javascript angularjs angularjs-ng-repeat angular-ui-bootstrap angular-directive

我真的需要解决以下问题的帮助:

我尝试实现应用程序的一些设置,因此我想使用UI-Bootstrap Accordion


我有以下HTML代码:

<accordion close-others="oneAtATime">
    <accordion-group ng-repeat="group in groups" heading="{{group.groupTitle}}">
        <accordion-content></accordion-content>
    </accordion-group>
</accordion>

“ Accordion ”的 DOM 是一个 div,其中 ng-controller="AccordionController"。在此 Controller 中,我有一个变量 groups,如下所示:

$scope.groups = [{
        groupTitle: "title1",
        templateUrl: "file1.html"
    }, {
        groupTitle: "title2",
        templateUrl: "file2.html"
    }]; // ... and so on

accordionContent 是我的指令,它应该根据 $indexgroupTitle(无关紧要)给出不同的模板 URL。

accordionContent 指令看起来像这样:

settings.directive("accordionContent", function () {
    return {
        restrict: "E",
        templateUrl: //**here is my problem**
    };
});

内容还实现了一些 Angular 方面的东西,我读到需要考虑这一点。 (或者不是?)

最佳答案

我不相信你能那样做。我试过一次,如果我没记错的话,没有用。

您可以做的是在指令中有一个静态 HTML 页面,在该 HTML 页面中您将拥有:

<div>
    <div class="slide-animate" ng-include="templateUrl"></div>
</div>

templateUrlaccordion-content 指令中隔离范围(或非隔离..)上的变量。

关于javascript - 动态指令 : templateUrl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27780153/

相关文章:

javascript - 在 Javascript Web 应用程序中保护私有(private) API key

javascript regex - 替换字符串停止词

javascript - 在 textarea angularJs 服务中编辑文本

javascript - 在 Angular Controller 中处理异步更新的正确方法

javascript - 使用 ng-repeat 时避免表中的列出现重复索引

angularjs - 将内容添加到 Angular 指令中的嵌入内容

javascript - 如何在 Ruby on Rails 中缓存/加速下拉框数据

javascript - 选项 url 路径 UI-Router

javascript - Angular : DOM manipulation of ng-repeat elements in a directive

javascript - 如何对具有内部依赖项的 ES6 模块进行单元测试