私はいくつかのHTMLカードを持つプロジェクトに取り組んでおり、カードのフォーマットと配置は同じですが、内容は異なります。ngRepeatの配列要素からの角度指令
各カードの内容を角度指示文として実装してから、ngRepeatを使用して、各指示文をカード内に表示しながら、どのような順序でも構いません。
私のコントローラ内部:それはこのようなものになるだろう
$scope.cards = [
'directice-one',
'directive-two',
//etc..
]
私のディレクティブ:
.directive('directiveOne', function() {
return {
restrict: "C",
template: '<h1>One!!</h1>'
};
})
.directive('directiveTwo', function() {
return {
restrict: "C",
template: '<h1>Two!!</h1>'
};
})
//etc..
私のhtml:
<div class="card" ng-repeat="item in cards">
<div class="{{item}}"></div>
</div>
しかし...ディレクティブがありませんレンダリングする。だから私はclass="directive-one"
とdivを取得します。
これは私の一部の設計上の瑕疵、文法上のエラーのようなもの、または角の制限に過ぎません。よく分かりません。
私はまた、ディレクティブ<card>
を作ると考えられ、それにtemplateUrl:
を渡し、それは私が私の$scope
にアクセスし、各カードはそれ自身の指示だった場合、私は持っているでしょうjavsacript能力を失う原因となるました。
コード助けをアドバイスしてください。何かが非常に役に立ちます!
愚かな質問ですが、ディレクティブの配列の代わりにオブジェクトの配列を渡すのはなぜですか? [{foo: "bar"、...}]のようなものであれば、もちろんitem.fooなどを使ってテンプレートからオブジェクトにアクセスすることができます。 – user1027620
@delashum、Angularは( '$ compile'を介して)明示的に指示しない限り、対応するディレクティブでスタイルクラスを持つ要素を返します。ここで私が話していることの簡単なデモンストレーションです - http://plnkr.co/edit/qf677nqrPhhW0ajSkVy5?p = previewでも、あなたのデザインをレビューすることをお勧めします。 – miqid
@miqid助けてくれてありがとう!私は '$ compile'について知らなかったが、うまくいった!私はこれが最高のセットアップではないことに同意するが、私はちょうど何であるか分からない。私はまだ確かな経験はしていないと思う。この種のプロジェクトに対する簡単な提案はありますか? – delashum