【问题标题】:Including html files using ngInclude使用 ngInclude 包含 html 文件
【发布时间】:2018-05-09 13:45:52
【问题描述】:

我正在尝试使用 ng-include 将一个 html 文件包含到另一个 html 中。关注 this 没有成功,可能是由于 webpack 版本不同。

尝试在 ng-include 中查找文件时出现 404 错误

package.json

"devDependencies": {
    ..//other dependencies
    "required-loader": "^1.3.15",
    "extract-text-webpack-plugin": "^3.0.1",
    "file-loader": "^1.1.5",
    "html-loader": "^0.5.1",
    "html-webpack-plugin": "^2.30.1",
    ..//other dependencies
}

index.js(应用入口点)

import angular from 'angular'
import uirouter from 'angular-ui-router'
import routes from './routes'

//trying to require all files inside views/all dir/all html files
//@require "../views/**/*.html"

angular.module('app', [uirouter])
  .config(routes)
  .controller('LoginCtrl', function() {})

index.html 文件需要包含 navbar.html 文件

index.html
views
 --> common
     --> navbar.html

index.html

<div ng-include="'navbar.html'"> 

【问题讨论】:

    标签: angularjs webpack angularjs-ng-include html-webpack-plugin webpack-3


    【解决方案1】:

    我找到了一种更好的方法来解决这个问题,而不是使用 ng-include。我为导航栏创建了一个角度组件并将其注入到 html 中。

    <navbar></navbar>
    

    在组件定义中,我使用import语句调用html模板

    import navbarTemplate from '../PATH';
    
    angular.module('app')
        .component('navbar', {
            template: navbarTemplate,
            ...
    });
    

    【讨论】:

    • 总的来说,这是一种更好的方法,并且当您将来迁移到 Angular 时,您会喜欢这种模式。我不确定空 div 标签的作用,但它们可能不是必需的。在外部组件/应用程序中,只需根据需要设置导航栏元素的样式。
    • 真的。它使代码面向未来并且易于测试和维护。
    猜你喜欢
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-21
    相关资源
    最近更新 更多