AngularJS 遇到的小坑與技巧小結_AngularJS

來源:互聯網
上載者:User

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 參考手冊英文版,也希望大家多多支援雲棲社區。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.