角度分量解析值显示未定义

Posted

技术标签:

【中文标题】角度分量解析值显示未定义【英文标题】:angular component resolved values showing undefined 【发布时间】:2017-07-09 16:55:03 【问题描述】:

我正在使用 Angular JS(版本 1.5.9)和 Angular UI 路由器(版本 1.0.0-rc.1)。 当我尝试访问组件控制器中的绑定值时,它显示undefined。下面我分享了我的代码。

我的代码有什么问题?能否请您指导我如何解决此问题?

router.config

     $stateProvider.state('app.user-datshboard', 
        url: '/dashboard/:user',
        views: 
            'header@':
                templateUrl : getView('user-navbar')
            ,
            'main@': 
                templateUrl: getView('user-dashboard')
            ,
            'footer':
        ,
        params: 
            user : null
        ,
        resolve: 
            OurUser : function()
                return 'nihao';
            
        

        
    )

组件

 class UserDashboardController
   constructor(API,$log,$state,$stateParams,$scope)
    'ngInject';
    //
    $log.log(this);
    this.API = API;
    this.$scope = $scope;
    this.$log = $log;
    this.$timeout = $timeout;
    this.$state = $state;
    this.$stateParams = $stateParams;
    this.$log.log(this.OurUser);
  
 

 export const UserDashboardComponent = 
templateUrl: './views/app/components/user-dashboard/user-    dashboard.component.html',
controller: UserDashboardController,
controllerAs: 'vm',
bindings:  OurUser : '=' 
 

错误屏幕

 [error screen][1]

谢谢

【问题讨论】:

你需要在你的组件控制器中使用 $onInit 检查这个***.com/a/43078999/3842364 【参考方案1】:

您需要在任何控制器或服务中注入您的OurUser,例如:

constructor(API, $log, $state, $stateParams, $scope, OurUser)
  // here you have access to OurUser

这样你就不需要bindings: OurUser : '='

【讨论】:

收到错误“未知提供者:OurUserProvider 确保您的组件控制器在路由路径 /dashboard/ 下使用。 OurUser 应该可注入此路由下的任何服务或控制器。另见这篇文章:toddmotto.com/resolve-promises-in-angular-routes/… 我尝试了很多次,但没有用。请为此提供任何代码... 我正在使用 jadjoubran/laravel5-angular-material-starter。 需要查看您的实现,请将您的代码上传到 plunker 或 codepen,我会尽力提供帮助。请参阅官方示例:github.com/angular-ui/ui-router/wiki#resolve。我还为您提供了一个 plunker 演示 (plnkr.co/edit/5rpPZET2GOrMxapa2N8h?p=preview) 并在 script.js 文件中添加了您的解决方案(预览时,按 Go to state 2 按钮)

以上是关于角度分量解析值显示未定义的主要内容,如果未能解决你的问题,请参考以下文章

Angular Controller $scope.fId 显示未定义的值

模糊事件未在角度分量上触发

为啥使用自定义全局验证器在角度材料 6 的 mat-form 字段中未显示 mat-error

角度ngrx存储错误无法读取未定义的属性“计划”

隐式上下文未定义,角度 7

请求在 Graphql 解析器中未定义,但在中间件中包含一些值。 (节点,快递)