index.html控制器中的$ routeParams

时间:2014-06-27 09:34:30

标签: javascript angularjs

我有一个只使用带有控制器main.js的索引的应用程序。我希望内容由URL定义,所以我想在控制器中使用$ routeParams。我的问题是它变空了。

这是我的app.js

  .config(function ($routeProvider) {
    $routeProvider
        .when('/:guid', {
            templateUrl: '/index.html',
            controller: 'MyCollectionUnitCtrl'
        })
        .otherwise({
            redirectTo: '/'
        });   
});

控制器:

    .controller('MyCollectionUnitCtrl',
    function ($scope, $location, $routeParams) {
        console.log($routeParams.guid); // Undefined
}

我加倍检查模块名称是否相同。

问题是控制器中的代码都没有运行。我通过在顶部添加console.log来测试它。索引甚至不是模板,因为我不使用偏序。 当我只使用一个视图时,我找不到任何关于路由的信息,所以这就是我遇到的问题。

当我只使用ng-controller定义控制器时,它不起作用。

想法?我错过了什么?这是一个愚蠢的问题,可以通过文档轻松解释吗?我感谢您给我的所有评论,答案和反馈。

谢谢!

修改 我还尝试在index.html中定义ng-controller,然后在routingConfig中只有控制器,但这也不起作用。

EDIT2 Plunker

1 个答案:

答案 0 :(得分:0)

很难找到代码片段的实际问题,但我认为你缺少ngRoute模块。

在html中添加angular-route.js脚本,并在模块中添加ngRoute依赖项。