私はAngular.JSのコードチュートリアルをやっていて、特に1つのセクションで私を混乱させました。ここで私が参照しているコードスニペットです:特にAngular.JSディレクティブには、中括弧が必要です。
<section class="tab" ng-controller="TabController as tabs">
<ul class="nav nav-pills">
<li ng-class="{active:tabs.isSet(1)}">
<a href ng-click="tabs.setTab(1)">Description</a></li>
<li ng-class="{active:tabs.isSet(2)}">
<a href ng-click="tabs.setTab(2)">Specs</a></li>
<li ng-class="{active:tabs.isSet(3)}">
<a href ng-click="tabs.setTab(3)">Reviews</a></li>
</ul>
</section>
この行はCodeSchool規格で正しいことがディレクティブで中括弧を必要とします:
<li ng-class="{active:tabs.isSet(1)}">
私の質問は、この他のラインのが来るか、ありますディレクティブは中括弧を必要とせずに正確に伝わってくる:
<a href ng-click="tabs.setTab(1)">Description</a></li>
私にとって、私が機能tabs.setTab()
にアクセスしていますので、私はそれをラップする必要があると思われますこれまでと同じようになぜこれが事実であるのか誰も説明できますか?
はここで参照するための方法によってTabController JSコードです:
app.controller('TabController', function(){
this.tab = 1;
this.setTab = function(newValue){
this.tab = newValue;
};
this.isSet = function(tabName){
return this.tab === tabName;
};
});
それらがJavaScriptであるように中括弧が同じを表します。 Objectを渡しています。これはクラス名のキーと値のペアのペアをキーとして 'true'または 'false'を値として渡しています。 – Claies