为什么我不能使用AngularJS'宁观和路由与玉相结合

Why can't i use AngularJS' ng-view and routing in combination with jade?

本文关键字:宁观 路由 相结合 不能 AngularJS 为什么      更新时间:2023-09-26

所以我目前正试图了解MEAN堆栈。Express默认使用jade,虽然我知道我可以很容易地使用html,但我想我应该尝试一下。现在,当我尝试像这样使用angular路由时:

...
body
  div(ng-view)
  script.
    var app = angular.module('myApp', ['ngRoute']);
    app.config(function($routeProvider) {
      $routeProvider
        .when('/',
          {
            templateUrl: 'partial1.jade'
          })
        .otherwise(
          {
            templateUrl: 'partial1.jade'
          });
    });
与partial1

。玉简如:

h1 Title

生成的html将是:

<span class="ng-scope ng-binding">h1 Title</span>

所以一切都是局部的。Jade会自动被捕获到跨元素中。当我使用html而不是jade时,它当然可以很好地工作。

所以我猜角使用玉文件没有它被预处理,但如果我理解正确角是纯粹的客户端和玉预处理器坐在服务器端。那么angular怎么可能得到纯玉文件呢?

还有,我还有办法把玉和angular的路由结合起来使用吗?

它正在加载pure jade文件,因为您告诉它:templateUrl: 'partial1.jade'。Angular不知道Jade是什么,也绝对无法将其动态解析为HTML。你需要在构建时编译Jade,并让Angular加载编译后的HTML版本。