1. templateURL和路由之類的要在web server下運行。
2. 使用模板replace設為true,模板裡也要有相應的標籤,否則不出現任何資料。
3. 1.2版本之後,ngRoute模組獨立。
4.空的controller不定義會出錯。
5.Directive的link參數是有順序的:scope,element,attrs,ctrl
6.ng-repeat不能迴圈重複的對象。hack: ng-repeat="thing in things track by $id($index)"
7.盡量更新的是變數的屬性而不是單個變數本身。
8.注意ng-repeat,ng-controller等會產生獨立範圍。
9.當jquery載入,則使用jquery,否則使用內建jqlite。all element references in Angular are always wrapped with jQuery or jqLite; they are never raw DOM references.
10.Uncaught Error: [$location:ihshprfx] A標籤沒有去掉 <a href="#" ng-click="someMethod();"></a>
11.Error: listen EACCES 當在linux下,會出現這個錯誤,因為你監聽的連接埠的原因,這裡我的是33。把它改成8080或3030之類大的連接埠數就可以了。有一個規定,這些連接埠最好是大於1024。
12. select在沒有ng-model的時候,無法顯示。同理,當遇到無法顯示最好看文檔少了什麼。
補:當ng-options的源,跟書寫不相配時會出現全部選擇的情況,如下:
var a = [{"id":1,"name":"Ryan"}....] ,ng-options="item.i as item.name for item in a" // i與id不同
----------------------------------------------------------------------------------------
13.ng-bind-html-unsafe已去除,可以用['ngSanitize'] 模組或使用$sce服務
From stackoverflow
You indicated that you're using Angular 1.2.0... as one of the other comments indicated, ng-bind-html-unsafe has been deprecated.
Instead, you'll want to do something like this:
複製代碼 代碼如下:
<div ng-bind-html="preview_data.preview.embed.htmlSafe"></div>
In your controller, inject the $sce service, and mark the HTML as "trusted":
複製代碼 代碼如下:
myApp.controller('myCtrl', ['$scope', '$sce', function($scope, $sce) {
// ...
$scope.preview_data.preview.embed.htmlSafe =
$sce.trustAsHtml(preview_data.preview.embed.html);
}
Note that you'll want to be using 1.2.0-rc3 or newer. (They fixed a bug in rc3 that prevented "watchers" from working properly on trusted HTML.)
查看更多AngularJS的文法,大家可以關註:AngularJS 參考手冊英文版,也希望大家多多支援雲棲社區。