AngularJS - 简单的路由无法正常工作

时间:2014-11-03 08:51:42

标签: angularjs

我有一个像这样的参数的路线

 var app = angular.module("myapp", ["ngRoute"]);

    app.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
            $locationProvider.hashPrefix("!").html5Mode(true);

            $routeProvider

            .when('/sukien', { templateUrl: '/app/views/sukien/index.html' , controller: 'eventCtrl' })
            .when('/sukien/:id', { templateUrl: function (params) { return '/app/views/sukien/index.html?id=' + params.id }, controller: 'eventCtrl' })


        }])

为什么/ sukien工作和/ sukien /:id不?事实上,angularjs似乎不明白它是什么。 “未捕获的TypeError:undefined不是函数”

/ sukien / 333 =>没能工作。

1 个答案:

答案 0 :(得分:1)

您正在混合模板网址,应用程序状态和搜索参数。

templateUrl告诉angularjs在哪里查找html文件:它很可能取决于params.id并通过函数设置,但宁可是常量。

用户在浏览器中看到的网址没有任何内容。

例如:'/app/views/sukien/suiken.html'

用户看到的网址类似于:

.../suiken/1223445

然后,您可以通过$ routeParams.id

访问控制器中的ID