溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

AngularJS ng-app的自動加載與屬性值

發(fā)布時間:2020-06-19 05:00:58 來源:網(wǎng)絡(luò) 閱讀:914 作者:daweilang 欄目:開發(fā)技術(shù)


ng-app 指令用于告訴 AngularJS 應(yīng)用當(dāng)前這個元素是根元素,所有 AngularJS 應(yīng)用都必須要要一個根元素。


使用ng-app來標(biāo)記一個DOM結(jié)點,在網(wǎng)頁加載完畢時會自動引導(dǎo)(自動初始化)應(yīng)用程序。

ng-app可以帶屬性值,可以指定加載應(yīng)用模塊的名稱,ng-app="模塊名稱"。


但是HTML文檔中只允許有一個 ng-app 指令,如果有多個 ng-app 指令,則只有第一個會被使用。

所以想要實現(xiàn)自動加載,那么就不能讓ng-app帶有屬性值,即不能指定載入應(yīng)用模塊名稱。


正確寫法

<body ng-app>
    <div ><p> {{ 5 + 5 }}</p> </div>
    <div ><p> {{ 10 + 10 }}</p> </div>
</body>


只加載第一個塊

<body >
    <div ng-app><p> {{ 5 + 5 }}</p> </div>
    <div ng-app><p> {{ 10 + 10 }}</p> </div>
</body>


以下為ng-app添加屬性值的寫法都是錯誤的,會報錯

<body ng-app=“myApp”>
    <div ><p> {{ 5 + 5 }}</p> </div>
    <div ><p> {{ 10 + 10 }}</p> </div>
</body>


<body >
    <div ng-app=“app1”><p> {{ 5 + 5 }}</p> </div>
    <div ng-app=“app2”><p> {{ 10 + 10 }}</p> </div>
</body>



帶屬性值時候需要手動加載對應(yīng)ng-app

<body>
    <div id="app1" ng-app="app1">{{ 5 + 5 }}</div>
    <div id="app2" ng-app="app2">{{ 10 + 10 }}</div>
    <script type="text/javascript">
        var app1 = angular.module("app1", []);
        var app2 = angular.module("app2", []);
        angular.bootstrap(document.getElementById("app2"), [ 'app2' ]);
    </script>
</body>

app1會自動加載

app2需要手動加載


angular.bootstrap() ,手動啟動 AngularJS

文檔地址 https://docs.angularjs.org/api/ng/function/angular.bootstrap


angular.bootstrap(element, [modules], [config]);

Arguments

ParamTypeDetails
elementDOMElement      

DOM element which is the root of angular application.

modules

(optional)

Array<String|Function|Array>=      

an array of modules to load into the application.    Each item in the array should be the name of a predefined module or a (DI annotated)    function that will be invoked by the injector as a config block.    See: modules

config

(optional)

Object      

an object for defining configuration options for the application. The    following keys are supported:

  • strictDi - disable automatic function annotation for the application. This is meant to assist in finding bugs which break minified code. Defaults to false.


element應(yīng)該對應(yīng)根ng-app的id,

modules 模塊名數(shù)組


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI