2015-03-24 68 views
0

我新的角度JS並已教導我的 '這個' 辦法:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<script> 
 
    var app = angular.module('Comment',[]); 
 
    app.controller('CommentCtrl',function(){ 
 
     this.welcome = 'Hello!'; 
 
    }); 
 
</script> 
 
<p ng-app='Comment' ng-controller='CommentCtrl as ctrl'> 
 
    Angular says: {{ ctrl.welcome }} 
 
</p>

這都說明 '角說:你好!'在段落內。

但是,我所見過的每個角度應用都使用'$ scope'而不是'this',就像我被教過的一樣。

請問有人可以解釋一下每個人的優點和缺點,以及我能理解的$ scope的含義是什麼?

謝謝。

+0

我的問題有什麼問題?我花了很多努力來獲得我的聲譽。請不要把它從我身上摘下來。 – Tobsta 2015-03-24 22:47:06

+0

「控制器爲」功能是angularjs最新的補充,因此大多數教程都使用$ scope。我讀了幾篇文章,建議angularjs 2.0不會使用$ scope。 – Cerad 2015-03-25 01:05:38

回答

3

一些好點

  • this
    • 當控制器構造函數被調用,this是控制器。
    • 當$ scope對象上定義的函數被調用時,this是「函數調用時的作用域」。這可能(或可能不)是函數定義的$範圍。所以,在函數裏面,this和$ scope可能是而不是是一樣的。
  • $範圍
    • 每個控制器具有相關聯的$範圍對象。
    • 控制器(構造函數)函數負責在關聯的$ scope上設置模型屬性和函數/行爲。
    • 可以從HTML /視圖訪問此$ scope對象上定義的方法(以及父範圍對象,如果正在播放原型繼承)。例如,從納克單擊,過濾器等

Here is cool article by Todd Motto

快樂幫助!

相關問題