私はウェブにかなり慣れていないので、これが可能かどうかはわかりません。したがって、基本的に私がやりたいことは、配列を反復処理し、配列内の各要素について、バックボーン ビューに適切な情報を入力することです。私ができると思ったのは、このテンプレートを .cshtml で宣言することです。
<div id="template-sample-validation-error">
<form id="sample-validation-form" class="form">
<div id="sampleName" class="control-label">Sample Name:</div>
</form>
</div>
(実際のテンプレートにはさらに多くのフィールドがありますが、すべてを含めたわけではありません)。
そのため、そのテンプレートを使用して、ビューをそのテンプレートにバインドし、コレクション内の各アイテムに新しいテンプレートを追加できると考えました。問題は、id が一意ではないため、バックボーン ビューの初期化メソッドで一意のアイテムを取得できないことです。
// some of the backbone view
SampleValidationView = (function() {
return Backbone.View.extend({
initialize: function (sample) {
var sampleMessage = sample.get('sampleName');
// iterating and creating a SampleValidationView to render
_.each(samples, function (aView) {
var errorView = new SampleValidationView(aView);
this.$('#template-sample-validation-error').append(errorView.render().$el);
});
次に、この投稿を見つけました。これは、基本的にdivに数字を追加して、divを一意にします。
一意の ID を持つ動的 div を作成する - jQuery
自分が作成したテンプレートでこのようなことを行う方法がわかりませんでした。別の方法は、投稿で行われたことと同様のことを行うことだと思いますが、ビューごとにテンプレートを用意し、配列内のアイテムの数に基づいて各ビューを互いに追加するだけの方がきれいだと思いました。しかし、私は立ち往生しています。どんな考えでも大歓迎です。ありがとう!