AngularJS進(jìn)階(三十九)基于項目實戰(zhàn)解析ng啟動加載過程

      網(wǎng)友投稿 763 2022-05-30

      基于項目實戰(zhàn)解析ng啟動加載過程

      前言

      在AngularJS項目開發(fā)過程中,自己將遇到的問題進(jìn)行了整理。回過頭來總結(jié)一下angular的啟動過程。

      下面以實際項目為例進(jìn)行簡要講解。

      1.載入ng庫

      2.等待,直到DOM樹構(gòu)造完畢。

      3.發(fā)現(xiàn)ng-app,自動進(jìn)入啟動引導(dǎo)階段。

      4.根據(jù)ng-app名稱找到相應(yīng)的路由。

      5.加載默認(rèn)地址。

      6.Js順序執(zhí)行,加載相應(yīng)模版頁

      sys_tpls/home.html

      7.在此,可以看到index路由中只是填充了ui-view為sys_login的div模塊,填充頁面內(nèi)容為sys_tpls/sys_login.html。

      sys_tpls/sys_login.html

      至此,模型、控制器依次登場亮相。可見,此頁面關(guān)聯(lián)的控制器為LoginController。其中用戶ID、密碼均進(jìn)行了ng-model的綁定。

      至此angularJS項目的啟動全過程大致講解完畢。

      注:AngularJS的三種啟動方式

      方式1: 自動啟動

      Angular會自動的找到ng-app,將它作為啟動點,自動啟動。

      New Page

      JS

      var myModule = angular.module("myModule", []);

      myModule.controller('MyCtrl', ['$scope',

      function($scope) {

      $scope.Name = "Puppet";

      }

      ]);

      方式2: 手動啟動

      在沒有ng-app的情況下,只需要在js中添加一段注冊代碼即可

      JS

      var myModule = angular.module("myModule", []);

      myModule.controller('MyCtrl', ['$scope',

      function($scope) {

      $scope.Name = "Puppet";

      }

      ]);

      /**

      * 這里要用ready函數(shù)等待文檔初始化完成

      AngularJS進(jìn)階(三十九)基于項目實戰(zhàn)解析ng啟動加載過程

      */

      angular.element(document).ready(function() {

      angular.bootstrap(document, ['myModule']);

      });

      方式3:多個ng-app

      ng中,angular的ng-app是無法嵌套使用的,在不嵌套的情況下有多個ng-app,他默認(rèn)只會啟動第一個ng-app,第二個第三個需要手動啟動(注意,不要手動啟動第一個,雖然可以運行,但會拋異常)

      JS

      /**

      * 第一個APP

      * @type {[type]}

      */

      var myModule1 = angular.module("myModule1", []);

      myModule1.controller('MyCtrl', ['$scope',

      function($scope) {

      $scope.Name = "Puppet";

      }

      ]);

      // angular.element(document).ready(function() {

      // angular.bootstrap(app1, ['MyModule1']);

      // });

      /**

      * 第二個APP

      * @type {[type]}

      */

      var myModule2 = angular.module("myModule2", []);

      myModule2.controller('MyCtrl', ['$scope',

      function($scope) {

      $scope.Name = "Vincent";

      }

      ]);

      angular.element(document).ready(function() {

      angular.bootstrap(app2, ['myModule2']);

      });

      美文美圖

      Angular AngularJS

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:Android進(jìn)階(十七)AndroidAPP開發(fā)問題匯總(一)
      下一篇:Java基礎(chǔ) 第三節(jié) 第三課
      相關(guān)文章
      亚洲人成网77777亚洲色| 鲁死你资源站亚洲av| 国产精品亚洲一区二区在线观看| 亚洲最新视频在线观看| 亚洲女同成av人片在线观看| 男人的天堂亚洲一区二区三区| 亚洲一区中文字幕| 亚洲午夜精品一区二区公牛电影院 | 亚洲国产中文在线视频| 亚洲视频免费在线播放| 亚洲丝袜美腿视频| 亚洲综合在线观看视频| 亚洲综合精品一二三区在线 | 亚洲熟妇AV日韩熟妇在线| 天堂亚洲国产中文在线| 亚洲精品中文字幕无乱码| 亚洲男人天堂av| 亚洲精品国产电影午夜| 亚洲精品国产情侣av在线| 亚洲AV无码专区亚洲AV伊甸园| 亚洲精品高清国产一线久久| 日本亚洲欧洲免费天堂午夜看片女人员| 久久亚洲色一区二区三区| 亚洲一区二区三区无码影院| 久久久久亚洲爆乳少妇无| 亚洲中文字幕无码日韩| 亚洲精品成人片在线播放 | 亚洲av无码专区青青草原| 激情小说亚洲图片| 亚洲精品偷拍视频免费观看| 中文字幕亚洲不卡在线亚瑟| 国产亚洲一区二区手机在线观看| 国产国拍亚洲精品mv在线观看 | 亚洲Aⅴ在线无码播放毛片一线天 亚洲avav天堂av在线网毛片 | 亚洲熟女乱色一区二区三区 | 亚洲最大的成网4438| 亚洲xxxxxx| 亚洲AV无码一区二区大桥未久| 亚洲国产无线乱码在线观看| 一级毛片直播亚洲| 亚洲人成色7777在线观看|