【问题标题】:Angular 1/ui-router - execute function into data objectAngular 1/ui-router - 将函数执行到数据对象中
【发布时间】:2017-09-27 14:01:49
【问题描述】:

我想运行一个将字符串返回到data 对象的方法。

例如,如果方法返回的结果是:“Richard Stallman”,我希望在我的控制器上使用:this. $state.current.data.title 等于“理查德·斯托曼” 好像我只是做了:

  data: {
    title: "Richard Stallman"
  }

我的状态:

.state({
  name: 'agent.production.myiad.project.detail.edit.headers.overlay.comment',
  url: '/comment',
  data: {
    title: (project, IadProjectUtilService) => {
            IadProjectUtilService.getProjectName(project) 
      }
  },
  component: 'iadAgentMyIadComment'
})

【问题讨论】:

    标签: javascript angularjs angular-ui-router angular-routing


    【解决方案1】:

    这通常通过resolve 块解决。

    .state({
      name: 'agent.production.myiad.project.detail.edit.headers.overlay.comment',
      url: '/comment',
      resolve: {
        title: (project, IadProjectUtilService) => {
                IadProjectUtilService.getProjectName(project) 
          }
      },
      component: 'iadAgentMyIadComment'
    });
    

    ...

    uirouter 将等待IadProjectUtilService.getProjectName(project) 返回的promise,然后将其绑定到组件的title 绑定。

    .component('iadAgentMyIadComment', {
      bindings: { title: '<' },
      controller: IadAgentMyIadCommentController,
    });
    

    这里是路由到组件的指南:https://ui-router.github.io/guide/ng1/route-to-component#resolve-bindings

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多