javascript - 将参数传递给 Angular UI 路由器模板

标签 javascript angularjs angular-ui-router angular-template es6-class

我的 Angular ui 路由器正在将状态/ View 更改为:

    $stateProvider
        .state({
            name: 'home',
            url: '/',
            template: '<home-view></home-view>',
        })

有没有办法将绑定(bind)参数传递到 UI 路由器中的

例如

<home-view my-data="dataObject">

<home-view my-data="myService.getMyData()">

my-view 的 Controller 位于自己的文件中,包含实际的模板和指令。

最佳答案

最后我的同事帮助解决了这个问题。解决方案使用解析来获取数据,然后将其作为路由器范围变量传递给模板。重要的一点是,路由器中定义的 Controller 有自己的范围,而不是“主视图”的范围。在我的家庭 Controller 中,可以通过 $scope.parent 访问路由器 Controller 。

.state({
    name: 'home',
    url: '/',
    resolve: {
        cData: (MyService) => {
            return MyService.getMyData()
        }
    },
    controller: function (cData) {
        this.data = cData;
    },
    controllerAs: 'ctrl',
    template: '<home-view my-data="ctrl.data"></home-view>'
})

关于javascript - 将参数传递给 Angular UI 路由器模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40833204/

相关文章:

javascript - Angular 表达式不适用于 html

angularjs - Angular Js - 带面包屑的 ui 路由器

javascript - 在1个项目中制作2个模块

javascript - Laravel 在包含 .js 文件时不会评估大括号

javascript - 谷歌地图多重叠加无累积不透明度

javascript - 使用 appendChild 添加 div

Javascript 整数到时间字符串

javascript - 两次 ng-click,ng-repeat 中的两个类别不同,具体取决于单击的选项

javascript - 如何在 Restangular 中的所有请求上发送参数

angularjs - 用于将服务注入(inject)子状态解析的 UI 路由器未知提供程序