搜尋

首頁  >  問答  >  主體

angular.js - ui-router多視圖嵌套,如果保障各個ui-view下的css相互獨立

如題:

ui-router多视图嵌套,如果保障各个ui-view下的css相互独立

.state('companyManage',{

        url:'/company',
        views:{
            '':{
                templateUrl:'company/pages/company.html',
                controller:'companyCtr'
                
            },
            'common_topbar@companyManage':{
                templateUrl:'home-page/topbar.html',
            },
            'details@companyManage':{
                templateUrl:'company/pages/company_details.html',
                controller:'companyDetailCtr'
            }
        },
        resolve:{
            deps:["$ocLazyLoad",function($ocLazyLoad){
                return $ocLazyLoad.load(["company/js/companyCtr.js","company/js/companyDetailCtr.js","company/js/fun.js",'company/css/company.css','main/common_topbar.css']);
                }]
            }
    })

topbar.html裡面link了一個很大的css文件,它裡面修改了默認標籤,目前我這樣什麼都不處理的話,這個css文件會影響我的其他頁面,請問,如果處理這個問題呢?

伊谢尔伦伊谢尔伦2739 天前451

全部回覆(1)我來回復

  • PHPz

    PHPz2017-05-15 17:10:35

    你的意思其實是css的互相影響吧。
    你可以將一個html當作一個模組,在寫css的時候,你都在最頂端加上一個模組化的類別名,如

    <html class="first-one">
        <head></head>
        <body></body>
    </html>
    .first-one {
        // 这个页面所有的样式
    }

    這樣,只要其他頁面沒有first-one這個類,css自然不會生效。

    而如果你裡面的css是沒有用一個大模組包裹起來的,例如像reset.css那樣的

    body {
        margin: 0;
        padding: 0;
    }

    那當載入到這個css的時候,一定會影響到別的頁面了

    回覆
    0
  • 取消回覆