AngularJS 1.5では、コンポーネントから(マルチスロット)継承スコープにバインディングを渡したいと思っています - テンプレート内の参照(特定のもの、いずれの方法も問題ありません)。コンポーネント内の継承されたスコープへのバインディングの受け渡し
これは.component()
から
// Component
.component('mySelect', {
bind: {
collection: '<'
},
transclude:{
header: 'mySelectHeader',
item: 'mySelectItem'
},
templateUrl: 'my-select-template',
controller: function(){
.....
}
});
...
// Component template
<script id="my-select-template" type="text/ng-template">
<ol>
<li ng-transclude="header"> </li>
<li ng-transclude="item"
ng-click="$ctrl.select($item)"
ng-repeat"$item in $ctrl.collection">
</li>
</ol>
</script>
...
// Example usage
<my-select collection="[{id: 1, name: "John"}, {id: 2, name: "Erik"}, ... ]>
<my-select-head></my-select-head>
<!-- Reference to $item from ng-repeate="" in component -->
<my-select-item>{{$item.id}}: {{$item.name}}</my-select-item>
</my-select>
が可能です。この一般的なカスタム選択リストを作成するのですか? transclusion
のカスタムディレクティブを使用していますか?あなたの親コンポーネントで
あなたが達成したいと思っているものと本質的に逆になります。 – zeroflagL