如何使用HTML文件中的AngularJS将HTML包含到页面中?

萨曼莎JT星

我已经接管了一些代码。看起来像这样:

<div id="init"
     data-admin-template
     ng-show="ss.display.init"
     data-template-url="init.html">
</div>

有一个指令adminTemplate:

app.directive('adminTemplate', ['stateService', function (stateService) {
    return {
        restrict: 'A',
        templateUrl: function (elem, attrs) {
            return "/Content/app/admin/templates/" + attrs.templateUrl;
        },
        link: function (scope, element, attrs) {
            scope.stateService = stateService;
        }
    };
}]); 

我对模板不是很熟悉,似乎该指令并没有真正做很多事情。没有指令,有没有办法做到这一点?

詹姆士

正如@Oli在评论中所说,ng-include绝对是一种解决方案。还有其他一些-角度喜欢为您提供足够的选择,使您怀疑自己-但我想知道通过更改它实际上会获得什么。

有了ng-include你需要一个控制器添加到您的HTML,以供应stateService(如果你没有在这里做到这一点,你必须将它添加到每一个不同的管理模板)。因此,您最终会得到:

<div id="init"
     ng-include="/Content/app/admin/templates/init.html"
     ng-show="ss.display.init"
     ng-controller="AdminController">
</div>

因此,最终您拥有相同数量的属性,您需要整个模板路径,并且其可读性降低。看看您现在所拥有的,很明显可以看到意图。

您还可以更进一步,并使其灵活地成为元素或属性

<admin-template
    id="init"
    ng-show="ss.display.init"
    data-template-url="init.html">
</admin-template>


app.directive('adminTemplate', ['stateService', function (stateService) {
    return {
        restrict: 'EA',
        templateUrl: function (elem, attrs) {
            return "/Content/app/admin/templates/" + attrs.templateUrl;
        },
        link: function (scope, element, attrs) {
            scope.stateService = stateService;
        }
    };
}]);

它可能似乎做得很少,但是我的感觉是,以前的开发人员已经重构了重复代码,以达到这个小指令。我认为这是因为它去除了样板,允许轻松重复使用,并在标记中很好地传达了意图。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS应用:如何将.js文件包含到index.html中

来自分类Dev

将目录中的所有javascript文件包含到angularjs中的html文件中?发牢骚?

来自分类Dev

将html页面代码包含到另一个[html]文件中

来自分类Dev

无法将PHP文件包含到我的HTML中

来自分类Dev

如何将HTML包含到jEditable占位符中?

来自分类Dev

将HTML DOM包含到addEventListener()中

来自分类Dev

如何将这个基本的html(CSS,JavaScript)模板包含到php文件中?

来自分类Dev

(Django) 如何将应用程序中的模板文件包含到模板中的 base.html 中

来自分类Dev

如何将.js文件包含到由compojure服务器提供服务的html文件中?

来自分类Dev

Webpack-如何通过实时重新加载将.html片段包含到index.html中?

来自分类Dev

如何将一个HTML文件中的导航栏包含到另一个HTML文件中

来自分类Dev

如果我不使用Web2py中的layout.html,如何将Ajax包含到视图中

来自分类Dev

Symfony将导航栏HTML包含到Twig模板中

来自分类Dev

如何使用 Gradle 将 jar 中的所有文件包含到战争中

来自分类Dev

如何将新文件包含到补丁中

来自分类Dev

如何将主体包含到标记文件中

来自分类Dev

如何将逐字源代码包含到html文档中

来自分类Dev

如何将 html div 或 php 包含到 PHPMailer 成功消息中?

来自分类Dev

将文件包含到PHP类中

来自分类Dev

将文件内容包含到属性中?

来自分类Dev

如何使用Java将xml样式表包含到XML文件中

来自分类Dev

如何在不编辑的情况下将.js文件包含到项目的所有jsp页面中?

来自分类Dev

如何包含html中包含的html文件?

来自分类Dev

如何将页面编码包含到所有jsp页面中

来自分类Dev

如何使用include将一些php文件包含到另一个文件夹中

来自分类Dev

离子2:将组件包含到页面中时出错

来自分类Dev

如何将JSP页面包含到自定义标签中

来自分类Dev

如何将qrc数据包含到使用CMake编译的基于Qt的二进制文件中

来自分类Dev

如何使用WiX Pyro将已更改但具有相同版本号的文件包含到MSP中?

Related 相关文章

  1. 1

    AngularJS应用:如何将.js文件包含到index.html中

  2. 2

    将目录中的所有javascript文件包含到angularjs中的html文件中?发牢骚?

  3. 3

    将html页面代码包含到另一个[html]文件中

  4. 4

    无法将PHP文件包含到我的HTML中

  5. 5

    如何将HTML包含到jEditable占位符中?

  6. 6

    将HTML DOM包含到addEventListener()中

  7. 7

    如何将这个基本的html(CSS,JavaScript)模板包含到php文件中?

  8. 8

    (Django) 如何将应用程序中的模板文件包含到模板中的 base.html 中

  9. 9

    如何将.js文件包含到由compojure服务器提供服务的html文件中?

  10. 10

    Webpack-如何通过实时重新加载将.html片段包含到index.html中?

  11. 11

    如何将一个HTML文件中的导航栏包含到另一个HTML文件中

  12. 12

    如果我不使用Web2py中的layout.html,如何将Ajax包含到视图中

  13. 13

    Symfony将导航栏HTML包含到Twig模板中

  14. 14

    如何使用 Gradle 将 jar 中的所有文件包含到战争中

  15. 15

    如何将新文件包含到补丁中

  16. 16

    如何将主体包含到标记文件中

  17. 17

    如何将逐字源代码包含到html文档中

  18. 18

    如何将 html div 或 php 包含到 PHPMailer 成功消息中?

  19. 19

    将文件包含到PHP类中

  20. 20

    将文件内容包含到属性中?

  21. 21

    如何使用Java将xml样式表包含到XML文件中

  22. 22

    如何在不编辑的情况下将.js文件包含到项目的所有jsp页面中?

  23. 23

    如何包含html中包含的html文件?

  24. 24

    如何将页面编码包含到所有jsp页面中

  25. 25

    如何使用include将一些php文件包含到另一个文件夹中

  26. 26

    离子2:将组件包含到页面中时出错

  27. 27

    如何将JSP页面包含到自定义标签中

  28. 28

    如何将qrc数据包含到使用CMake编译的基于Qt的二进制文件中

  29. 29

    如何使用WiX Pyro将已更改但具有相同版本号的文件包含到MSP中?

热门标签

归档