动态指令:templateUrl

时间:2015-01-05 13:03:43

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

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

我尝试为应用程序实现一些设置,因此我想使用 UI-Bootstrap手风琴


我有以下 HTML代码

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

&#34;手风琴&#34;的DOM是div ng-controller="AccordionController"。在这个控制器中,我有一个变量groups,如下所示:

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

accordionContent是我的指示,根据$indexgroupTitle(不重要),它应该提供不同的templateURL。

accordionContent - 指令如下所示:

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

内容也有一些角度的东西实现,我读到这需要考虑。 (或不?)

1 个答案:

答案 0 :(得分:1)

我不相信你可以这样做。我曾经尝试过一次,如果我没记错的话,没有工作。

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

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

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