带有TypeScript和UI路由器的AngularJs。访问父级';不使用参数的状态属性

带有TypeScript和UI路由器的AngularJs。访问父级';不使用参数的状态属性,angularjs,typescript,angular-ui-router,Angularjs,Typescript,Angular Ui Router,如果将Ui Router与AngularJS和TypeScript一起使用,我是否可以直接从嵌套状态访问父状态中定义的属性(不使用参数或数据) 我可以使用$state.$current.parent访问数据属性中的数据,但我希望直接访问控制器中定义的属性。在提供的示例代码中,我将其命名为xxx 以下是我的例子: 路线: $stateProvider .state(state_NAMES.JOB_ADD.MAIN{ url:“/jobs/:Id”, 重定向至:STATE_NAMES.JOBL_AD

如果将Ui Router与AngularJS和TypeScript一起使用,我是否可以直接从嵌套状态访问父状态中定义的属性(不使用参数或数据)

我可以使用$state.$current.parent访问数据属性中的数据,但我希望直接访问控制器中定义的属性。在提供的示例代码中,我将其命名为xxx

以下是我的例子:

路线:

$stateProvider
.state(state_NAMES.JOB_ADD.MAIN{
url:“/jobs/:Id”,
重定向至:STATE_NAMES.JOBL_ADD.DETAILS,
观点:{
“内容”:{
组件:组件\u name.JOBS\u ADD.MAIN
}
}
})
//嵌套状态
.state(state\u NAMES.JOB\u ADD.DETAILS{
url:“/details”,
观点:{
“部分”:{
组件:组件\u名称.JOBS\u添加.DETAILS
}
}
})
父状态控制器

public xxx:string//我想从控制器访问此属性
建造师(
私有talentPoolAddService:ITalentPoolAddService,
私有$state:router.StateService,
私有$scope:ng.IScope,
) {
this.xxx='ascs';
}
绑定={

应用:“实际上,这是
ui路由器
中记录的功能有点不足,但实际上可以实现这一点

将父级模板更新为类似以下内容:

<form>   
   <section>
     <ui-view name="section" xxx="$ctrl.xxx"></ui-view>
   </section>
   <button>....</button>
</form>

....

请注意
组件。它有一种特殊的能力,可以获取任何属性并将其作为绑定传递给底层组件。

每个控制器都有自己的作用域,所以您运气不好(据我所知)。我找到的最佳解决方案是使用服务来存储控制器之间的共享数据。如果您只希望数据在某些状态下可用,则可以从某个状态中清除数据
onExit
。也许这个问题非常有帮助@BShaps。我将采用服务方法