私はParentComponent1が必要とまったく同じHTMLが必要になります別のコンポーネント(ParentComponent2)を作成していますので、私は、子コンポーネントを作成し、私は必要な場所にそれを拡張します:Angular2サブコンポーネントブレークCSSの関係
私の親コンポーネントを
import { Component, Input } from '@angular/core'
import { CategoryList } from "./metadata.service.dtos"
import { MyChildComponent } from "./my-child.component"
@Component({
selector: "my-parent",
templateUrl: "/js/app/templates/my_parent.html"
})
export class ParentComponent1 {
categories: CategoryList[];
this.categories = this.metadataService.categories;
}
私の親テンプレート
<ul materialize="collapsible" class="collapsible" data-collapsible="collapsible" [materializeParams]="params">
<li>
<div class="collapsible-header">
My Products
</div>
<div class="collapsible-body">
<div class="card horizontal hoverable lighten-4 my-product" *ngFor="let product of products">
<my-single-product [categories]="categories"></my-single-product>
</div>
</div>
</li>
</ul>
私の子コンポーネント
import { Component, Input } from '@angular/core'
import { CategoryList } from "./metadata.service.dtos"
@Component({
selector: "my-single-product",
templateUrl: "/js/app/templates/my-single-product.html"
})
export class MyChildComponent {
@Input() categories: CategoryList[];
}
私の子テンプレート
<div class="card-image white">
<div></div>
</div>
それは動作しますが、CSSがすべて台無しにし、私が子供の内部HTMLを拡張する前にそれがあったより今完全に異なっています。その理由は、この要素が最終的なHTML
<my-single-product
この要素のレンダリングは、CSSの子の関係を壊すでレンダリングされていることです。
この要素の表示を停止し、そのHTMLコンテンツのみを表示する方法はありますか?
罰金すべきですか?あなたはプランナーを作ることができますか?カスタムタグ – yurzui
@yurzuiをこの質問に似た良いオプションにしたくない場合は、属性セレクタをいつでも使用できます。http://stackoverflow.com/a/34589018/1019042 – user1019042