angularjs可以視為是一種資料優先的框架,在它的三個層面中,資料模型是骨架,檢視模型和業務事件是血肉,檢視模板和指令是皮毛,這三層合在一起,就形成了乙個活生生的web應用。
1.ng-if的情況程式設計客棧下 ,始終將頁面中的元素繫結到物件的屬性(data.x)而不是直接繫結到基本變數(x)上。因為ng-if 會(隱式地)產生新作用域。
2.ng-repeat迭代陣列的時候,如果陣列中有相同值,會有什麼問題,如何解決? 加 track by $index 可解決。也可以 trace by 任何乙個普通的值
3.ng-click 中寫的表示式,能使用 js 原生物件上的方法嗎?不能用,只要是在頁面中,都不能直接呼叫原生的 js 方法。因為這些並不存在於與頁面對應的 controller 的 $scope 中。
}app.filter('parseintfilter', function()
})4.} 這種表示式裡面,豎線和後面的引數通過什麼方式可以自定義?
ng 內建的 filter 有九種:
date(日期)
currency(貨幣)
limitto(限制陣列或字串長度)
orderby(排序)
lowercase(小寫)
uppercase(大寫)
number(格式化數字,加上千位分隔符,並接收引數限定小數點位數)
filt程式設計客棧er(處理乙個陣列,過濾出含有某個子串的元素)
json(格式化 json 物件)
5.filter 有兩種使用方法,一種是直接在頁面裡:
}另一種是在 js 裡面用:
// $filter('過濾器名稱')(需要過濾的物件, 引數1, 引數2,...)
$filter('date')(now, 'yyyy-mm-dd hh:mm:ss');
自定義 filter
// 形式
app.filter('過濾器名稱',function()
}); 程式設計客棧
// 栗子
app.filter('timesfilter', function()
return result;
}})6.factory、service 和 provider 是什麼關係?
factory返回的是乙個物件,而service返回的是乙個例項化物件,繫結到 this 的都可以被訪問。provider 是加強版 factory,返回乙個可配置的 factory
7.效能問題
作為 mvvm 框架,因為實現了資料的雙向繫結,對於大陣列、複雜對程式設計客棧象會存在效能問題。
可以用來 優化 angular 應用的效能 的辦法:
減少監控項(比如對不會變化的資料採用單向繫結)
主動設定索引(指定 track by,簡單型別預設用自身當索引,物件預設使用 $$hashkey,比如改為 track by item.id)
降低渲染資料量(比如分頁,或者每次取一小部分資料,根據需要再取)
資料扁平化(比如對於樹狀結構,使用扁平化結構,構建乙個 map 和樹狀資料,對樹操作時,由於跟扁平資料同一引用,樹狀資料變更會同步到原始的扁平資料)
本文標題: angular十大常見問題
本文位址:
angular 常見問題總結
1.ui router 必須是http請求 2.如果 路由路徑寫錯的話,瀏覽器會一直重新整理 3.controller 必須定義,否則會報錯 4.ng if 如果為false 則不建立節點。ng show ng hide 控制顯示或隱藏,但是建立節點 5.使用 location記得注入 6。emit...
Kali Linux常見十大問題
1 kali linux的映象選取 目前大部分機型的計算機為64位,所以建議使用amd64映象,位址為 2 kali linux使用無線網絡卡 目前360wifi第二代支援,不是破解網絡卡 3 kali linux支援破解無線網的網絡卡 型號 3070 8187 4 kali linux如何裝虛擬機...
SDK開發十大常見問題與解決方案是什麼?
乙個好的sdk應該具備易用性 穩定性 輕量 靈活的特點,而箇推作為國內第三方推送市場的早期進入者,一直致力於為開發者提供高效穩定的推送sdk。這期文章,我們特地採訪了個推android 資深開發敬瑜,以個推推送sdk為例,來聊聊打造大型sdk的關鍵技術點。作者 個推android 資深開發 敬瑜 0...