Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Nginx配置在HTML5模式下与angularjs路由一起工作_Javascript_Html_Node.js_Angularjs_Nginx - Fatal编程技术网

Javascript Nginx配置在HTML5模式下与angularjs路由一起工作

Javascript Nginx配置在HTML5模式下与angularjs路由一起工作,javascript,html,node.js,angularjs,nginx,Javascript,Html,Node.js,Angularjs,Nginx,我正在使用angularjs路由处理nginx配置文件 在我的例子中,我有以下HTML: index.html description.html dashboard.html dashboard.html是带有angularjs代码的 这是我当前的nginx配置文件: upstream panda.dev { server 127.0.0.1:3333 max_fails=3 fail_timeout=30s; } server { listen 80; s

我正在使用angularjs路由处理nginx配置文件

在我的例子中,我有以下HTML:

index.html
description.html
dashboard.html

dashboard.html
是带有angularjs代码的

这是我当前的nginx配置文件:

upstream panda.dev {
    server 127.0.0.1:3333 max_fails=3 fail_timeout=30s;
}

server {
    listen       80;
    server_name  panda.dev;
    root /Users/Jeremy/Documents/Projects/PandaUnion/web/converted-html;

    # serve static files directly
    location / {
        index index.html$args;
        try_files $uri$args $uri$args/ $uri/ /dashboard.html$args =404;
    }
}
这是我的角度代码:

PandaUnion.controller('PandaController', function($routeParams, $location) {
  console.log($routeParams);
});

var templateURL = '/partials';

PandaUnion.config(function($routeProvider, $locationProvider) {
  $locationProvider.html5Mode(true);
  return $routeProvider.when('/dashboard/:user_id', {
    templateUrl: templateURL + '/home.html'
  }).when('/dashboard/:user_id/setting', {
    templateUrl: templateURL + '/setting.html'
  }).when('/dashboard/:user_id/bill', {
    templateUrl: templateURL + '/bill.html'
  });
});
使用此配置,我可以通过访问
/dashboard/123
获取
dashboard.html
,但我无法在angular中获取
123
作为routeParam

当我访问
/dashboard/123
时,它应该打印
{user\u id:123}
,但我只看到一个空对象

这里出了什么问题?请帮忙


(对不起,我的英语很差)

看一看AngularJS。如您所见,您必须通过$routeParams对象绑定参数(在您的情况下是用户id)

因此:

  • 为when()语句定义控制器
  • 在该控制器中注入$routeParams对象
  • 将参数绑定到$scope对象
  • 在模板中,请确保在引用“用户id”时处于控制器边界内
  • 希望有帮助