2016-07-08 8 views
4

私はAngular UI Treeのコンポーネントを見ています。私が探しています具体的なコードは次のとおりです。ng-clickで "this"を使用

<a class="pull-right btn btn-primary btn-xs" data-nodrag ng-click="newSubItem(this)" style="margin-right: 8px;">

ラインはすべてNGクリック用thisの使用を除き、私には完璧な意味があります。私は、JavaScriptでのthisの使用に慣れており、古典的なOOでselfの使用とどのように異なるのですか。しかし、私はこの関数呼び出しに渡されたときに何が正確に参照されているのだろうかと思いますか?

コードはbasic exampleに含まれています。

+0

これは、現在のスコープでなければなりません。 'newSubItem'も同じスコープで定義されているので、なぜそれが必要なのか分かりません。 – Phil

+0

コントローラで呼び出されている関数でスコープを使用できないのですか?私はあなたに同意していませんが、なぜあなたはそれをパラメータとして渡すのだろうと思いますか? – timbo

+0

それは私が言っていることです。パラメーターとして渡すべき明白な理由はありません – Phil

答えて

1

ここでは、thisはスコープを指し、すべての変数、その内部にある関数を含みます。

これを使用する場合は常に、スコープが返されます。ここで

、私は親と子からこれを渡していますが、両方は$SCOPE

<body ng-controller="AppController"> 

    <div><a ng-click="aClick(this)">Click a</a> 
    <div> 
     <a ng-click="bClick(this)">Click b</a> 
    </div> 
    </div> 

    {{aValue}} {{bValue}} 
</body> 

と同じ出力を示し作業plunkerを見つけてください: http://plnkr.co/edit/IdXB1ZtXMpFS3soxcBIz?p=preview

関連する問題