這篇文章主要介紹Angular如何實(shí)現(xiàn)組件化管理,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開發(fā),軟件開發(fā),小程序制作,十載建站對(duì)生料攪拌車等多個(gè)方面,擁有多年的網(wǎng)站推廣經(jīng)驗(yàn)。
具體如下:
在做sass產(chǎn)品頁(yè)面的時(shí)候,往往每個(gè)頁(yè)面的header和footer都是一樣的,還有最近我做的頁(yè)面,類似datetimepicker這種組件,其實(shí)都是可以復(fù)用的代碼,所以如果能把這些公用的UI組件提取出來,對(duì)于維護(hù)就會(huì)方便很多啦?。?/p>
angular框架就支持這種組件化管理,不過也有優(yōu)缺點(diǎn),我先來說實(shí)現(xiàn)方法哈!
index.html:沒有用到路由,所以js都是src生引進(jìn)來的
template模塊化 click{{ default }}
header.js:用閉包封裝了header組件指向template模板,這里面的A指的是上面html里frame-header的屬性,在這里面的link還可以調(diào)用當(dāng)前作用域內(nèi)的方法
(function () { var header = angular.module("header",[]); header.directive('frameHeader',function(){ return { restrice: 'A', templateUrl: 'template.html', replace: false, link: function ($scope, iElm, iAttrs) { $scope.navigateTo = function(){ console.log($scope.aa) } } } }); })();
header.html:模板部分,我簡(jiǎn)單的寫了個(gè)導(dǎo)航
index.js:引入header模塊
var myApp = angular.module("frameApp",['utilModule','header']); myApp.controller('frameCtrl', ['$scope','utilService', function($scope,utilService){ $scope.aa = 'yyyyyyyyyyy' $scope.a1 = function(){ utilService.lemon() }; $scope.default = 'this is default' }]);
這樣一來,大功告成啦就!每個(gè)頁(yè)面只要
這個(gè)標(biāo)簽,就能引入頭部導(dǎo)航了!
不過這種組件化的引入方式,我個(gè)人并不推薦使用在引入header和footer,因?yàn)檫@樣的話,相當(dāng)于每個(gè)頁(yè)面都會(huì)加載一遍templat.html很影響速度,我建議,在引入datetimepicker這樣的組件的時(shí)候在使用!因?yàn)檫@種小組件是按需加載的,用得著再加載,不會(huì)影響頁(yè)面響應(yīng)效率。
以上是“Angular如何實(shí)現(xiàn)組件化管理”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!