简体   繁体   English

无法覆盖header.html文件

[英]Can't override header.html file

I have already overridden the default layouts and views. 我已经覆盖了默认的布局和视图。 So I see the content of my own index.html file. 因此,我看到了自己的index.html文件的内容。 But how come it loads the header.html from the system package? 但是,它如何从系统包中加载header.html? Why doesn't it load my own header.html which lives in my own package? 为什么不加载位于我自己的程序包中的我自己的header.html?

This is what I currently have in my own package: in server/views/layouts/default.html: 这是我目前在自己的程序包中所拥有的:在server / views / layouts / default.html中:

<div class="navbar navbar-inverse navbar-fixed-top" data-ng-include="'/myTheme/views/header.html'" data-role="navigation"></div>

And this is how I have overridden the default layouts in my own package in app.js: 这就是我在app.js自己的包中覆盖默认布局的方式:

MyTheme.register(function(app, auth, database) {

  //We enable routing. By default the Package Object is passed to the routes
  MyTheme.routes(app, auth, database);

  //We are adding a link to the main menu for all authenticated users
  MyTheme.menus.add({
    title: 'myTheme example page',
    link: 'myTheme example page',
    roles: ['authenticated'],
    menu: 'main'
  });

  app.set('views', __dirname + '/server/views');

// More code..

And this is how I have overridden my public views in my own package in myTheme.js: 这就是我在myTheme.js自己的程序包中覆盖公共视图的方式:

'use strict';

angular.module('mean.myTheme',  ['mean.system']).config(['$viewPathProvider', '$stateProvider',
  function($viewPathProvider, $stateProvider) {
    $viewPathProvider.override('system/views/index.html', 'myTheme/views/index.html');
  }
]);

You need to pass System into your register function. 您需要将系统传递到您的注册功能。 Also, I would put the app.set() function as the first line of your register function. 另外,我会将app.set()函数作为您的注册函数的第一行。

From the docs: 从文档:

Please note that the package must depend on System to ensure it is evaluated after System and can thus override the views folder 请注意,该软件包必须依赖于System才能确保在System之后进行评估,从而可以覆盖views文件夹

MyPackage.register(function(system, app) {
  app.set('views', __dirname + '/server/views');
  // ...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM