试图换掉SPA中的部分,但布局不断重新加载

时间:2016-05-25 22:08:18

标签: javascript angularjs node.js single-page-application

我正在尝试创建一个SPA,据我所知,布局应加载一次并为我的网站提供一般模板,然后将加载部分以更改视图。我在服务器控制台和开发工具中看到,当路由发生变化时,布局和脚本会不断重新加载。如何阻止这些脚本只能加载一次?

节点路线:

app.get('/', routes.index);
app.get('/partials/:name', routes.partials);

节点routes.js:

exports.index = function(req, res){
  console.log('loading layout')
  return res.render('layout');
};

exports.partials = function (req, res) {
  var name = req.params.name;
  console.log('name ', name, ' and loading partial')
  return res.render('partials/' + name);
};

Angular Routes:

$routeProvider
     .when('/', {templateUrl: 'partials/index.jade'})
     .when('/someRoute', {templateUrl: 'partials/someRoute.jade', controller: 'myCtrl'})
     .otherwise({redirectTo: '/'});

layout.jade

html
  head
    // bunch of scripts
  body(ng-app='myApp')
    div(ng-view)
      block content

视图的文件夹结构是 -views   -partials   -layout.jade

如果我开始在导航栏中键入/ someRoute,我会看到/ someRoute和404显示在我的服务器控制台中,304显示我的layout.jade中包含的所有脚本,但是我的chrome检查器中没有,我从未点击过输入。如果我按Enter键,我会得到正确的响应,以及必须排队的404和我所有脚本的200状态。

0 个答案:

没有答案