角度分量解析值显示未定义
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/…script.js
文件中添加了您的解决方案(预览时,按 Go to state 2 按钮)以上是关于角度分量解析值显示未定义的主要内容,如果未能解决你的问题,请参考以下文章
Angular Controller $scope.fId 显示未定义的值