我已经覆盖了默认的布局和视图。所以我看到了自己的index.html文件的内容。但是为什么它会从系统包加载header.html?为什么不加载我自己的header.html中的header.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>
这就是我在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..
这就是我在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');
}
]);
答案 0 :(得分:0)
您需要将System传递给您的注册功能。另外,我会将app.set()
函数作为寄存器函数的第一行。
来自文档:
请注意,程序包必须依赖于System以确保在System之后对其进行评估,因此可以覆盖views文件夹
MyPackage.register(function(system, app) {
app.set('views', __dirname + '/server/views');
// ...