我正在处理一个比平时更复杂但形式更复杂的应用程序。我通过使用不同的视图和控制器将其拆分,但仍然将它们保存在表单元素中。
它有不同的部分,但请求的有效负载应该包含我执行POST请求时的所有信息。所以基本上这就是为什么它有一个主要形式(好吧,不是把它放在一个表单中,我甚至可以没有表单然后收集模型并通过包含所有模型提交它&#) 39; s数据分为一个主要部分)。
我的问题是:
required
字段要设置?只是为了拥有所需的控制器的功能和范围。 代码只是一个例子,这不是字面上的代码。
<form>
<div ui-view="section1"></div>
<div ui-view="section2"></div>
<div ui-view="section3"></div>
<button type="submit">Submit</button>
</form>
$stateProvider.state('myState', {
url: '/mstate',
parent: 'stateForAuthenticatedUsers',
views: {
//this will be loaded what I have above. Just a part of the page.
'content': {
templateUrl: 'modules/myModule/views/sectionMain.html',
controller: 'Section1Ctrl as vm'
},
'section1@myState': {
templateUrl: 'modules/myModule/views/section1.html',
controller: 'Section1Ctrl as vmState1'
},
'section2@myState': {
templateUrl: 'modules/myModule/views/section2.html',
controller: 'Section2Ctrl as vmState2'
},
'section3@myState': {
templateUrl: 'modules/myModule/views/section3.html',
controller: 'Section3Ctrl as vmState3'
},
}
});
function State2Ctrl($scope) {
//stuffs here. Need to refer parent's scope somehow
$scope.vm.someVariableOrObject
}
我唯一担心的是,相信在状态配置中定义的值vm
并不能让我感觉它是一个组合良好的结构。我真的需要一些我可以要求的东西,明确地拥有它而不是盲目地信任一个值vm
。
我的观点也包含vm.someVariable
,以便引用父母的范围。但我不喜欢它。
答案 0 :(得分:0)
为什么不简单地使用您的$rootScope
?一种简单的方法来实现您的目标,而不是每次都传递$scope
。