Angularjs UI路由器无法$state。请转到子状态并显示命名视图

Angularjs UI路由器无法$state。请转到子状态并显示命名视图,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我尝试为我的子状态和$state创建命名视图。从父状态转到它,但失败。供您编辑 演示 让app=angular.module'demo',['ui.router']; app.config['$urlRouterProvider','$stateProvider',函数$up,$sp{ $sp.state1,state1; $sp.state'state1.state2',state2; $up。否则为“/state1”; }]; 设state1={ url:“/state1”, 控制器:['

我尝试为我的子状态和$state创建命名视图。从父状态转到它,但失败。供您编辑

演示 让app=angular.module'demo',['ui.router']; app.config['$urlRouterProvider','$stateProvider',函数$up,$sp{ $sp.state1,state1; $sp.state'state1.state2',state2; $up。否则为“/state1”; }]; 设state1={ url:“/state1”, 控制器:['$state',函数$st{ this.stName=$st.current.name; this.createSubState=函数{ $st.go'state1.state2',{message:'message from'+$st.current.name+'to state2'}; } }], controllerAs:“$ctrl”, 模板:`

{{$ctrl.stName}}begin

{{$ctrl.stName}}end

` }; 设state2={ 参数:{ 信息: }, 观点:{ 状态视图:{ 控制器:['$transition$','$state',函数$tr,$st{ this.parentMessage=$tr.params.message; this.stName=$st.current.name; }], controllerAs:“$ctrl”, 模板:`

{{$ctrl.stName}begin

{{$ctrl.parentMessage} {{$ctrl.stName}}end

` } } }; 你几乎在那里:

我所做的:

ui视图=state2View必须是ui视图名称=state2View 视图名称属性stat2View必须为stat2View@state1,因为它引用了父状态ui视图 编辑

使用ui视图声明,如下所示:

<ui-view name="viewsName" />


具体的问题是什么?你真是太棒了!谢谢你再次帮助我!根据文档,相对名称应该是确定的,所以我仍然不明白为什么必须使用“@”来表示绝对名称。这是一种乐趣:当您开始使用视图时,您必须将该视图最初呈现的状态指定给哪个视图,您要将控制器/组件置于哪个状态。在文档中,最后一个代码块解释了这一点:我再次进行了测试,在视图中使用短/相对名称就可以了;哦,好的,写下来:
<div ui-view="viewsName"></div>