2016-05-05 37 views
1

我有興趣在Shopify託管頁面上使用基於角材料的聯繫表單。由於網站的其他部分並未使用Angular Material(尚未)構建,因此我希望以模塊化方式實現此聯繫表單,並將其隔離在自己的div中。我遇到的問題是Angular Material中的樣式表(當前鏈接在頭部)會影響期望影響範圍之外的頁面元素。是否有可能從頁面的其餘部分分離Angular Material內容?人們會怎麼做呢?僅在頁面的一部分中使用角材料

回答

1

我認爲你可以做到這一點的唯一方法是使用iframe,因爲css將始終組合,並且將遵循級聯規則,因此下面的規則將覆蓋其他規則。

+0

我可以看到,這可能是有利的。如果我使用來自服務器或應用程序的內容的iframe,那麼我可以更好地控制表單提交。 –

5

您可以爲您創建單獨的Angular模塊所需的模板文件和注入角度材質。僅在該模板文件中鏈接角度材質CSS。這樣它不會影響其他頁面。

+0

這聽起來像是一個很好的方法,你可以指點我的文檔或教程這種方法?或者是oguzhan000的答案中提到的那個相同的東西? –

+0

是啊@ oguzhan的回答對我來說很好。你可以遵循這一點。 –

1

您可以使用angular-ui-router狀態和獨立的角度模塊。所以你可以注入一個角度材料的路線狀態,然後使用它。

 module.exports = 
     angular.module('parentModule', [ 
     'angularMoment', 
     require("./childFolder"), 

     ]) 
    .config(function ($stateProvider) { 
    $stateProvider 
    .state('parent', { 
     url:"parent/", 
     views:{ 
     '': { 
      templateUrl: 'main/layout.html', 
      controller: 'MainController' 
     } 
     } 
    }) 
.controller('MainController', require('./mainController')); 

module.exports = 
     angular.module('childModule', [ 
     'ngMateiral', 'ngMessages' 
     ]) 
.config(function ($stateProvider) { 
     $stateProvider 
     .state('parent.child', { 
      url: "parent/:id", 
      views: { 
      '': { 
       templateUrl: 'main/layout.html', 
       controller: 'MainController' 
      }, 
      '[email protected]': { 
       templateUrl: 'main/child/layout.html' 
       controller: 'ChildController' 
      } 
      } 
     }); 
    }) 
    .controller('ChildController', require('./childController'));