想用Angular的路由里面监听url变化来获取不同的ejs模版,但是当url一变化express的路由也会作出反应,想问下该怎么做才能在url变成/phone时不进入express的路由。
public/javascript/app.js
angular.module('ngApp',[])
.config(['$routeProvider',function($routeProvider) {
$routeProvider
.when('/', {templateUrl: 'pages/index',controller: 'PhoneListCtrl'})
.when(('/phone', {templateUrl: 'pages/phone-detail',controller: 'PhoneDetCtrl'}))
.otherwise({redirectTo: '/'})
}])
routes/index.js
var express = reqsuire('express');
var router = express.Router();
router.get('/pages/phone-detail', function(req, res, next) {
res.render("phone-detail", {title: '艾希'});
})
module.exports = router;
下面图片是结构,模版都在view/pages下
大家讲道理2017-05-15 17:00:10
2 つの質問
1. どう考えても、angularjs と ejs は繰り返しのように感じます。angularjs を使用する場合は html+ajax を使用でき、ejs を使用する場合は ejs+ajax を使用できます。両方を使用する必要はありません。
2. angularjsのルート設定では、読み込まれたページが親ページの<ng-view>
に非同期で読み込まれますが、ejsはブラウザウィンドウ全体のレンダリングを行うと言われています。 、これはページをジャンプすることに相当します。確かに競合が発生します。
当面考えられる解決策は、ejsを使用してメインページにジャンプし、ng-routeを使用してサブページを非同期にロードすることですが、それ以外の方法では設定できないのが欠点です。 ejsとangularのルート設定。