2016-04-04 8 views
1

私はスコープ内にないvarキーワードで変数を宣言する小さなコントローラを作成しました。それは範囲内で私的ですか?私のコードを見てください。AngularJSコントローラで私的変数と関数を宣言する方法

<div ng-app="myApp" ng-controller="myCtrl"> 
{{test}} 
</div> 

var app = angular.module('myApp', []); 
app.controller('myCtrl', function ($scope) { 
     var test='test hello'; 
    $scope.Operantion = 'hello'; 
    $scope.GetData = function() { 
     abc(); 
    }; 

    function abc() 
    { 
     alert(test); 
    } 
    $scope.GetData(); 
}); 

varテスト変数はプライベート変数として考慮する必要がありますか?

関数xxx()だけの関数を宣言すると、私的関数と考えるべきです。私は新しい角度になっています。だからコードをテストするときに多くの質問が私の心に来ている。だから私を案内してください。ありがとう

答えて

2

スコープは、ビューがそれから値を参照して読み取ることができるオブジェクトです。 'var'を宣言することで、スコープ外のオブジェクトをコントローラー関数のコンテキストで作成します。

しかし、ng-controller属性を介してそのコントローラに付属するhtmlは、そのコントローラの有効範囲のプロパティしか見ることができません。

+0

:リファレンスを参照してください

? – Mou

+1

は 'var aa'を使用してください。それはあなたのコントローラにとってローカルになります – AlainIb

関連する問題