0
私はカスタムディレクティブを持っていますが、ngRepeat内で使用する際に問題があります。たとえば、以下の私のtacoの例では、ng-repeat属性にtaco
というエイリアスが付けられているオブジェクトは、ディレクティブの定義内からアクセスできないようです。AngularJS:ngRepeat内のカスタムディレクティブの使用
app.tpl.html
<div ng-repeat="taco in tacoController.tacos">
<taco></taco>
<div>
taco.directive.js
(function() {
angular
.module('food')
.directive('taco', [
// DI: strings here
function(
// DI: params here
) {
return {
restrict: 'E',
template: `
// THIS WORKS
<div>{{ tacoController.lastShipment }}</div>
// THIS DOES NOT!
<div>{{ taco.shellType }}</div>
`
};
}
])
})();
P.S.可能であれば私のディレクティブで分離スコープを使用しないようにしたいと思います。
だから、私がアクセスしたい場合のように聞こえるが私のディレクティブ内の 'taco'オブジェクトは、分離スコープを使用する方法がありません...? –
ディレクティブが 'taco'オブジェクトにアクセスできるようにするために、メインページのディレクティブまたは共有スコープで独立スコープを持つ必要があるのでしょうか?一般に、ディレクティブが独立したスコープを持つことは、良い習慣です。あなたが外部からのより多くの情報を渡したいなら、あなたはいつもそうすることができます。 – lzagkaretos
私が分離スコープのルートを避けることを望んでいたのは、React w/o Reduxを使用するのと同じような経験をすると思われるからです(つまり、コンポーネント階層の複数のレベルを使って小道具を渡す)。スコープを分離することがベストプラクティスだと私は同意しますが、ReduxやMobXのような状態コンテナを使用していない場合は、API契約をすべて強制します。しかし、あなたの入力をありがとう! –