0

Я использую Angular JS (версия 1.5.9) и Угловой UI-маршрутизатор (версия 1.0.0-rc.1). Когда я пытаюсь получить доступ к значениям привязки в контроллере компонента, он показывает undefined. Ниже я поделился своим кодом.значения разрешенных угловых компонентов, отображающие неопределенные

Что случилось с моим кодом? Не могли бы вы посоветовать мне, как решить эту проблему?

router.config

 $stateProvider.state('app.user-datshboard', { 
     url: '/dashboard/:user', 
     views: { 
      '[email protected]':{ 
       templateUrl : getView('user-navbar') 
      }, 
      '[email protected]': { 
       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] 

Спасибо

+0

Вы должны использовать $ OnInit в контроллере компонентов проверить это HTTP: //stackoverflow.com/a/43078999/3842364 – UnuSec

ответ

0

Вы должны вводить свой OurUser в любом контроллере или службы, например:

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

таким образом, вам не нужно bindings: { OurUser : '=' }

+0

получение ошибки «Неизвестный поставщик: OurUserProvider <- OurUser» – user2709760

+0

убедитесь, что ваш компонентный контроллер используется по маршруту маршрута/приборной панели/. 'OurUser' должен быть инъекционным для любого сервиса или контроллера по этому маршруту. См. Также эту статью: https://toddmotto.com/resolve-promises-in-angular-routes/#coupling-routing-logic-with-controllers – Andriy

+0

Я пробовал много раз, но не использовал. пожалуйста, укажите любой бит кода для этого ... – user2709760

Смежные вопросы