Angular指令未显示

时间:2017-12-18 23:06:01

标签: javascript angularjs electron

Electron + AngularJS
我正在做一些基本的事情:我试图添加页眉和页脚,这将显示在每一页上。
所以我有 app.js 这样:

'use strict';
let app = angular.module('marks', ['ngRoute']);
app.controller('ctrl', ($scope) => {})
    .config(($logProvider, $routeProvider) => {

    $logProvider.debugEnabled(true);

    $routeProvider
        .when('/', {
            templateUrl: 'html/home.html'
        })
        .when('/login', {
            templateUrl: 'html/login.html'
        })
        .when('/teachers', {
            // controller: 'js/teachers.controller.js',
            templateUrl: 'html/teachers.html'
        })
        .when('/students', {
            // controller: 'js/students.controller.js',
            templateUrl: 'html/students.html'
        })
        .when('/404', {
            templateUrl: 'html/404.html'
        })
        .otherwise({ redirectTo: '/404' });
});

footer.controller.js

angular.module('marks').controller('MarksFooterController', ['$scope', ($scope) => {}]);  

footer.directive.js

angular.module('marks').directive('marksFooter', () => {
    return {
        restrict: 'EAC',
        controller: 'MarksFooterController',
        templateUrl: '../html/marks-footer.html'
    };
});  

marks-footer.html

<div>
    <h3>2017</h3>
</div>

和标题相同。

index.html

<!DOCTYPE html>
<html>
<head>
    <script src="../../bower_components/angular/angular.js"></script>
    <script src="../../bower_components/angular-resource/angular-resource.js"></script>
    <script src="../../bower_components/angular-route/angular-route.js></script>
</head>
<body ng-app="marks">
<div class="tile is-ancestor is-12">
    <div class="tile is-vertical is-parent is-9">
        <ng-view></ng-view>
    </div>
</div>

    <script>
        require('./app.js');
    </script>
</body>
</html>

当我运行应用程序时,我没有错误,但指令是空的(但它们也得到了参数),那么问题是什么?

使用DevTools截图: enter image description here  我认为我不知何故搞砸了控制器,但我不确定 This answer没有帮助 感谢任何帮助

更新

现在我尝试以某种方式加载模板(可能有一些标记位置的变化有帮助),但应用程序无法找到它。 DevTools - &gt; Sources未显示html个文件夹(screenshot)。我应该在哪里导入它?

解决
解决方案是:

  • 导入 index.html
  • <head>内的所有控制器和指令
  • 将templateUrl更改为相对于 index.html
  • 的路径

但我仍然在寻找如何避免在.html内部进行如此多的导入

1 个答案:

答案 0 :(得分:1)

问题是你如何包含你的app.js脚本。它应该作为标记包含在标题或任何其他位置。