Angular js 应用摘要启动时出现无限错误循环
Angular js app digest infinite error loop on startup
我是 Angular 的新手。我正在使用 node、jade 和 angular 构建一个新项目。试图实现捕获所有服务器路由。当索引页面加载时,它会进入导致应用程序崩溃的循环。我尝试了几种不同的方法来让它工作。不确定我做错了什么!!
节点主要路线
module.exports = function(app){
app.get('*', function (req, res) {
res.render('index', {
bootstrappedAccount:req.user
});
});
app.get('/partials/*',function(req,res){
res.render('../../public/app/' + req.params[0]);
});
}
Index.jade
extends ../includes/layout.jade
block main.js-content
.navbar.navbar-inverse.navbar-fixed-top
.container
.navbar-header
a.navbar-brand(href='/') Template
.navbar-collapse.collapse
ul.nav.navbar-nav
li
a(href='/') home
div(ng-include="'/partials/account/navbar-login'")
section.content
div(ng-view)
footer.container.text-center
p © 2016 Company Name Corp International Ltd.
layout.jade(其中加载了 angular。如果我从正文中取出 ng-app('app') 页面加载。所以我知道它的 angular 应用程序这就是问题所在。
doctype html
html
head
title Template
link(href="/favicon.ico",rel="shortcut icon",type="image/x-icon")
link(rel="stylesheet",href="/vendor/bootstrap/dist/css/bootstrap.min.css")
link(rel="stylesheet",href="/vendor/toastr/toastr.css")
link(rel="stylesheet",href="/css/customsite.css")
body(ng-app='app')
include currentUser
block main.js-content
include scripts
app.js(初始化 Angular 应用程序)
angular.module('app',['ngResource','ngRoute']);
angular.module('app').config(function($routeProvider,$locationProvider) {
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
$routeProvider.when('/', {templateUrl: '/partials/main/main', controller: 'mvMainCtrl'})
});
main.jade
.container
.jumbotron
h1 The Startup Project
p This appy.
.row
.col-md-6
div(ng-include="'/partials/main/featured-courses'")
.col-md-6
div(ng-include="'/partials/main/new-courses'")
你真的需要设置这个吗:
app.get('/partials/*',function(req,res){
res.render('../../public/app/' + req.params[0]);
});
Angular 应该加载您包含的部分,而无需在服务器端设置特殊路由。
问题出在我的 app.js 文件中的 templateUrl 部分。我没有正确传递字符串路由值,因此它会返回并重新加载服务器“/”页面并连续加载客户端“/”。我只是将字符串更改为 '/partials/?path=/main/main' 这样我的部分路线就不必改变了。如果您想在没有部分路径的情况下加载。请确保 templateUrl 上的路径正确。如果您遇到的问题很可能就是那条路线。随便玩玩,直到你弄明白为止。我什至将我的更改为 '/signup' 只是为了确保摘要错误停止并且我在正确的路径上修复它。
我是 Angular 的新手。我正在使用 node、jade 和 angular 构建一个新项目。试图实现捕获所有服务器路由。当索引页面加载时,它会进入导致应用程序崩溃的循环。我尝试了几种不同的方法来让它工作。不确定我做错了什么!!
节点主要路线
module.exports = function(app){
app.get('*', function (req, res) {
res.render('index', {
bootstrappedAccount:req.user
});
});
app.get('/partials/*',function(req,res){
res.render('../../public/app/' + req.params[0]);
});
}
Index.jade
extends ../includes/layout.jade
block main.js-content
.navbar.navbar-inverse.navbar-fixed-top
.container
.navbar-header
a.navbar-brand(href='/') Template
.navbar-collapse.collapse
ul.nav.navbar-nav
li
a(href='/') home
div(ng-include="'/partials/account/navbar-login'")
section.content
div(ng-view)
footer.container.text-center
p © 2016 Company Name Corp International Ltd.
layout.jade(其中加载了 angular。如果我从正文中取出 ng-app('app') 页面加载。所以我知道它的 angular 应用程序这就是问题所在。
doctype html
html
head
title Template
link(href="/favicon.ico",rel="shortcut icon",type="image/x-icon")
link(rel="stylesheet",href="/vendor/bootstrap/dist/css/bootstrap.min.css")
link(rel="stylesheet",href="/vendor/toastr/toastr.css")
link(rel="stylesheet",href="/css/customsite.css")
body(ng-app='app')
include currentUser
block main.js-content
include scripts
app.js(初始化 Angular 应用程序)
angular.module('app',['ngResource','ngRoute']);
angular.module('app').config(function($routeProvider,$locationProvider) {
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
$routeProvider.when('/', {templateUrl: '/partials/main/main', controller: 'mvMainCtrl'})
});
main.jade
.container
.jumbotron
h1 The Startup Project
p This appy.
.row
.col-md-6
div(ng-include="'/partials/main/featured-courses'")
.col-md-6
div(ng-include="'/partials/main/new-courses'")
你真的需要设置这个吗:
app.get('/partials/*',function(req,res){
res.render('../../public/app/' + req.params[0]);
});
Angular 应该加载您包含的部分,而无需在服务器端设置特殊路由。
问题出在我的 app.js 文件中的 templateUrl 部分。我没有正确传递字符串路由值,因此它会返回并重新加载服务器“/”页面并连续加载客户端“/”。我只是将字符串更改为 '/partials/?path=/main/main' 这样我的部分路线就不必改变了。如果您想在没有部分路径的情况下加载。请确保 templateUrl 上的路径正确。如果您遇到的问题很可能就是那条路线。随便玩玩,直到你弄明白为止。我什至将我的更改为 '/signup' 只是为了确保摘要错误停止并且我在正确的路径上修复它。