簡體   English   中英

ui-router需要多個同級視圖

[英]ui-router require in multiple sibling views

怎么樣

我正在開發一個具有比平常稍多但更復雜的形式的應用程序。 我通過具有不同的視圖和控制器對其進行了拆分,但仍將其保留在表單元素中。

它具有不同的部分,但是當我執行POST請求時,請求的有效負載應包含所有信息。 因此,基本上,這就是為什么它具有一種主要形式的原因(嗯,這不是關於是否將其包含在表單中,我什至可以不使用表單就擁有它,然后收集模型並通過將所有模型的數據包含到一個主要模型中來提交它)。

我的問題是:

  • ui-router是否required設置一種required字段? 只是為了擁有所需的控制器功能和范圍。
  • 有誰知道更好的解決方案?

該代碼僅是示例,這實際上不是我所擁有的代碼。

查看(sectionMain.html)

<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'
            },
        }
    });

控制器(例如State2Ctrl)

function State2Ctrl($scope) {
    //stuffs here. Need to refer parent's scope somehow
    $scope.vm.someVariableOrObject
}

我的顧慮

我唯一關心的是,信任在狀態配置中定義的值vm並不會給我以為它是一個結構良好的結構。 我真的需要一些我需要的東西,以明確地擁有它,而不是盲目地信任值vm 另外,我的視圖包含vm.someVariable以便引用父級的作用域。 但是我不喜歡。

為什么不簡單地使用$rootScope呢? 一種輕松實現所需內容的方法,而無需每次都傳入$scope

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM