玉石模板中的脚本标记不生成带有Angular的结束标记

时间:2016-10-18 08:10:53

标签: javascript angularjs pug

我正在阅读“获得平均数”一书,并在第8章第2节遇到了麻烦。出版商的论坛几乎没有帮助。

希望有人可以解释一下,因为我不知道为什么它没有按照书中所说的那样起作用。

我认为问题可能与我正在使用的观点有关。

var soFunction = function(args) {
   this.width = args.width || 0;
   this.height = args.height || 0;

   this.getRatioValue = function(value) {
      var ratio = this.width / this.height;
      return value * ratio;
   };

   console.log(this.getRatioValue(this.height)); // returns 1200
}

// Initialize object
var test = new soFunction({width: 1200, height: 980});

因为它在我加载页面时生成以下html:

    doctype html
    html(ng-app='loc8rApp')
      head
        meta(name='viewport', content='width=device-width, initial-scale=1.0')
        title= title
        link(rel='stylesheet', href='/bootstrap/css/amelia.bootstrap.css')
        link(rel='stylesheet', href='/stylesheets/style.css')
      body
       .navbar.navbar-default.navbar-fixed-top
          .container
            .navbar-header
              a.navbar-brand(href='/') Loc8r
              button.navbar-toggle(type='button', data-toggle='collapse', data-target='#navbar-main')
                span.icon-bar
                span.icon-bar
                span.icon-bar
            #navbar-main.navbar-collapse.collapse
              ul.nav.navbar-nav
                li
                  a(href='/about/') About

        .container
          block content

          footer
            .row
              .col-xs-12
                small © Simon Holmes 2014

        script(src='/angular/angular.js')
        script(src='/angular/loc8rApp.js')
        script(src='/javascripts/jquery-1.11.1.min.js')
        script(src='/bootstrap/js/bootstrap.min.js')
        script(src='/javascripts/validation.js')

这意味着loc8rApp.js文件似乎包含在未关闭的脚本标记中。

加载页面时控制台在chrome中抛出的错误是:

    <script src="/angular/angular.js"><script src="/angular/loc8rApp.js"></script>
    <script src="/javascripts/jquery-1.11.1.min.js"></script>
    <script src="/bootstrap/js/bootstrap.min.js"></script>
    <script src="/javascripts/validation.js"></script>

如果问题是Angular控制器文件(loc8rApp.js),它就在这里:

Uncaught Error: [$injector:modulerr] Failed to instantiate module loc8rApp due to:
Error: [$injector:nomod] Module 'loc8rApp' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument. 

提前感谢任何回复的人! =)

1 个答案:

答案 0 :(得分:1)

在模板文件中,

正文下方的行(第9行)间隔不正确。

而不是:

    body
     .navbar.navbar-default.navbar-fixed-top

应该是这样的:

    body
      .navbar.navbar-default.navbar-fixed-top

这个错误出现在github chapter-08分支库中,我已经克隆并用来完成本章所教授的代码。我现在提交了拉动请求以解决这个问题,所以希望它不会影响太多其他人。

pr可以在这里找到:https://github.com/simonholmes/getting-MEAN/pulls