$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 其實前兩步的設定已經可以實現去掉 跳轉了,但是每次重新整理或者直接輸鏈結進...