2016-06-02 4 views
0

これはおそらく死んでシンプルですが、どうすればいいのでしょうか。 私は非常に一般的なディレクティブのかなり長いhtmlテンプレートを持っています。ただ、スタイリングの理由テンプレート内のng-ifブロックからhtmlを移動する

のようないくつかの(擬似)コードがある:あなたが内のすべての部分を見ることができるように

<p ng-if="type===1"> 
    {{entity.name}} 
    <button ng-click="someAction(entity)"> 
</p> 
<p ng-if="type===2"> 
    <img href="" ng-click="someAction(entity)"> 
    {{entity.title}} 
</p> 
<p ng-if="type===3"> 
    <a href="#" ng-click="someAction(entity)">{{entity.name}}</a> 
    {{entity.title}} 
</p> 

ngが-場合、ブロックは何とかいくつかのいくつかの方法でエンティティの属性と「someAction」を示し、が呼び出されます。

ng-ifブロック内のHTMLを個別のファイルに移動してより簡単な概要を保つためにここに含める簡単な方法はありますか?新しいスコープやその他のものを作成する必要はありません。テンプレート内のように書かれたように、移動したhtmlを解析するだけです。

ありがとうございました。

+0

あなたは 'ng-include'を探しているようですが、' ng-if'と同じように新しいスコープを作成します。より堅牢なソリューションが必要な場合は、おそらくいくつかのルーティングコンポーネントを調べますか? 1つの良い候補は 'ui-router 'でしょう。 http://angular-ui.github.io/ui-router/site/#/api/ui.router – CozyAzure

答えて

1

ngIncludeを使用できます。共通のコンテンツはHTMLに移動し、このディレクティブを使用して組み込むことができます。

+0

しかし、ngIncludeは新しいスコープを作成するため、私の 'エンティティ'に問題はありませんか? – LBA

関連する問題