ノックアウト^3.1.0
を使用してプロジェクトを継承しました。私はいくつかの機能を構築する必要があります。私は決してノックアウトを使用していない。ノックアウトがバインディングを処理できません - 定義されていません
各ビューには、メインビューモデルから呼び出されたビューモデルがinit(model)
であります。
プロパティは、initの先頭で初期化され、問題なくビューで使用されます。例えば:
<!-- ko if: hasEntities -->
<!-- ko foreach: { data: entities, as: 'entity' } -->
は、だから私は私の新しいプロパティを初期化し、同じ場所/方法:
model.numberOfColumns = ko.observable(2);
model.columnGenerator = ko.computed(function() {
return ko.utils.range(0, model.numberOfColumns());
}, model);
model.entities = ko.observableArray([]);
model.hasEntities = ko.observable(false);
は次のように結合無容器でエラーなしなどのように初期化され、使用されます
として使用してください:
<!-- ko foreach: { data: columnGenerator, as: 'index' } -->
と、このエラーを取得するには:
knockout.js:72 Uncaught ReferenceError: Unable to process binding "foreach: function(){return { data:columnGenerator,as:'index'} }" Message: columnGenerator is not defined
は、私は、このエラーに関連する多くの質問を検索したと誰も助けませんでした。
ありがとうございます!あなたの
<!-- ko foreach: { data: columnGenerator, as: 'index' } -->
は(columnGenerator
が定義されている)$root
スコープとは異なる範囲に解釈されるためです
ポスト – haim770
済完全なエラー・メッセージを参照してください - KOのforeachのを:!{データ: 'index'} - > 'は' $ root'とは異なるスコープ*内にあります。 '{data:$ root.columnGenerator、as: 'index'}'を試してください。あるいは、関連するHTMLの部分を完全に記述してください。 – MayNotBe
おそらく '<理由(コメントを投稿するには11文字を入力する必要があります) – haim770