angularjs中的 sompile服務

2021-08-04 21:20:50 字數 1149 閱讀 7640

$compile服務

angularjs裡比較重要但又很少手動呼叫的服務,通常

我們使用的angularjs指令

都是angularjs

自動編譯完成的,但有時我們可能需要手動編譯,比如

我們需要往現有的dom結構裡新增html**,

增加一列

li,這是就需要用到$compile了。

$compile

用於編譯html片段或者dom,形成模板函式並於scope函式聯結。編譯就是dom遍歷並匹配指令,執行指令對應的函式,並將所有函式執行返回的結果函式聚合形成單一的模板函式。

用法:<

html

=><

head

>

<

meta

charset

="utf-8"

>

<

title

>

angular

title

>

<

script

src=

"libs/jquery.js"

>

script

>

<

script

src=

"libs/angular.js"

>

script

>

<

script

>

angular.module(

, )

.controller(

'mycontroller'

, function

($scope, $compile))

script

>

head

><

body

ng-controller

=>

body

>

html

>

通過$compile服務可以編譯html字串或dom物件或jqlite物件,然後得到乙個編譯函式,再傳入$scope,就會在當前作用域進行編譯,返回編譯好的jqlite物件,這時就可以直接新增到文件中了(也可以先新增到文件再編譯)。 

編譯的實質其實就是對dom物件解析,使dom物件與scope進行耦合,

angularJs中的ng repeat的使用

最近專案中要求做乙個下拉的城市選擇的功能,由於專案使用了angularjs框架,所以自然而然的想到 ng repeat 指令,免去了自己寫迴圈的煩惱。所以總結一下 ng repeat 的使用方法 如下 ng repeat directive 城市選擇 請選擇城市 這應該是最簡單的ng repeat的...

angularJS中cookies的使用

提供瀏覽器cookies的讀 寫訪問操作。支援1.4及以上版本。需要引入ngcookies模組。angular.cookies min js 方法 get key 根據key返回該cookies值。key 搜尋cookies的id。getobject key 根據key返回該cookies的反序列化...

AngularJs去掉鏈結中的「 」

angularjs的路由機制會給鏈結中新增乙個 是跳到子頁面的錨點。由於專案需求,需要將鏈結中的 去掉,其實angular還提供了html5mode 跳轉機制。config function locationprovider 其實前兩步的設定已經可以實現去掉 跳轉了,但是每次重新整理或者直接輸鏈結進...