Javascript 角度ui路由器嵌套状态,但控制器/视图相同(无页面转换)

Javascript 角度ui路由器嵌套状态,但控制器/视图相同(无页面转换),javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我有一个场景,我正在创建一个应该是可编辑的页面。单击编辑按钮时,属性名称应根据属性的“类型”更改为文本框或日期选择器等 现在我想将url更新为“/edit”,但实际上我不需要页面转换。由于控制器和视图将保持不变,但布尔属性editMode将设置为true,因此输入字段将变为可见 我可以为此在$stateProvider中创建嵌套状态吗?这里是否需要嵌套状态?我认为这是因为虽然页面转换不是必需的,但editMode仍然是一个状态P.s.当我从状态的角度考虑它时,我喜欢路由 如何使用ui路由器实现这

我有一个场景,我正在创建一个应该是可编辑的页面。单击编辑按钮时,属性名称应根据属性的“类型”更改为文本框或日期选择器等

现在我想将url更新为“/edit”,但实际上我不需要页面转换。由于控制器和视图将保持不变,但布尔属性editMode将设置为true,因此输入字段将变为可见

我可以为此在$stateProvider中创建嵌套状态吗?这里是否需要嵌套状态?我认为这是因为虽然页面转换不是必需的,但editMode仍然是一个状态P.s.当我从状态的角度考虑它时,我喜欢路由

如何使用ui路由器实现这一点

谢谢

表单的测试小提琴:无页面转换。只需切换表单字段


您必须执行以下操作:

$stateProvider
    .state('users', {
        url: '/users',
        controller: 'users',
        templateUrl: 'users/users.html'
    })
    .state('users.edit', {
        url: '/users/edit',
        views: {
            edit: {
                templateUrl: 'users/edit.html'
            }
        }
    })
不要忘记渲染编辑视图

<!-- users/users.html -->
<div ui-view="edit"></div>

就是这样,我不需要编辑模式的单独视图!看小提琴,你不能做到这一点。编辑模式是一种状态。你有一个状态-你有一条路线。你做了一个路线-你将不得不加载你的视图事件,如果它是一个小的部分像在你的情况下不可能与我的设置!好的,谢谢你的帮助。手工作业,然后…你可以做它,事实上,只是一个ng如果周围的阅读部分和编辑部分和itll的工作,但不同的页面是明确的方式去。另一种方法是创建一个指令,定义一个元素,该元素将重新编译自身以相应地将文本元素更改为input/dates,但这不是一项容易的任务