angularjs - 如何在 Angular $routeParams 对象中传递自定义值?

标签 angularjs angular-ui-router

配置 Angular $routeProvider 时,我想在 routeObject 中指定我自己的自定义值,并通过 $route 检索它们Angular 注入(inject)的对象。有正确的方法吗?

例如:

    $routeProvider
        .when('/administration/user/:id', {
            templateUrl: 'client/app/views/users-details.html',
            myCustomObject: { firstParam: "one", secondParam: "two"}
        })

我不太确定如何在 Controller 中检索它。我发现我可以通过以下方式访问 myCustomObject:

$route.current.$$route.myCustomObject

但是,我忍不住想知道 $$route 是否被视为私有(private)变量,不应该直接访问。但是,由于缺少在解析中使用复杂的 $q Promise 来注入(inject)值,我没有看到其他方法。

我是否在某个地方遗漏了明显的内容?通过 $$route 对象访问我的对象是可接受的方式吗?或者这在未来的 Angular 构建中可能会出现问题吗?

最佳答案

正如 runTarm 提到的,您可以使用解析并仅从解析函数返回一个对象而不是 promise 。例如

$routeProvider
    .when('/administration/user/:id', {
        templateUrl: 'client/app/views/users-details.html',
        resolve: {
            myCustomObject: function() {
                return { firstParam: "one", secondParam: "two"};
            }
        },
        controller: 'MyCtrl'
    })

Controller :

var MyCtrl = function(myCustomObject) {
    //you should be able to use myCustomObject here
}

关于angularjs - 如何在 Angular $routeParams 对象中传递自定义值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25429765/

相关文章:

javascript - angular-route 和 angular-ui-router 有什么区别?

angularjs - 使用 angularjs 在 ionic v1 中查询字符串

ios - 在 Mobile Safari 上调试缓慢的 angular-ui-router 状态变化

javascript - 单击时如何使用angular js的$location.hash更改html元素的颜色?

javascript - angularjs 数据表按钮插件

javascript - ng-options 在单击时清除模型(和可见选项),tarnation 是什么?

javascript - 如何指定指令使用哪个 $scope?

javascript - 拒绝 promise Angular ui-router 后的 $state 转换

在 ng-repeat 中使用带有过滤器的 $index 跟踪时出现 AngularJs 错误

javascript - cucumber 和 Protractor 有什么区别?