ノックアウト js を使用して顧客向けのドラッグ アンド ドロップ ダイアリーを作成しています。クロムでのテストに切り替えたところ、ノックアウト"Cannot read property 'childNodes' of undefined"
のparseBindingString
機能でこの不思議なエラーが発生しましたが、このテンプレートは FireFox/IFE10 でテストされ、機能しています。 .
バインディングでエラーがスローされますがcss: { blackout: workingHours($parent.DaysArray(0), $parents[1].ViewDate()).startTime.getTime() == workingHours($parent.DaysArray(0), $parents[1].ViewDate()).finishTime.getTime() }
、デバッガーのコンテキストでは、node
ローカル変数には予想どおり 4 つの子ノードが登録されているため、ノックアウトはここでいくつかの深刻なツリー ナビゲーションを実行しようとする必要があります。これは、関数やクラスworkingHours()
の追加には必要ありません。blackout
現在のノードに。
ブラウザー間で DOM が構築される方法がわずかに異なるため、これはクロムでのみ発生したと思いますが、この種の問題を解決する方法について誰かアドバイスをいただけますか? または確認することは?
<td data-bind="
css: {
blackout: workingHours($parent.DaysArray(0), $parents[1].ViewDate()).startTime.getTime() == workingHours($parent.DaysArray(0), $parents[1].ViewDate()).finishTime.getTime() }">
<div class="unallocated-booking">
<div class="status-bar-holder mini-status-bar-holder" data-bind="
template: {
name: 'unallocated-booking-template',
foreach: todaysBookings($parent.DaysArray(0), bookings, $parents[1].ViewDate()) }"/>
</div>
<div data-bind="
attr: {
'data-init-droppable': false },
class: {
droppable: isWorkDay( $parent.DaysArray(0), $parents[1].ViewDate() ) },
template: {
name: 'week-cell-template',
foreach: todaysBookings($parent.DaysArray(0), bookings, $parents[1].ViewDate()) }"/>
</td>
些細なことですが(おそらく別の質問が必要です)、皮肉なことに、バインディングを追加してクロムでデバッグしたかったので、最後の要素のattr
/ class
/バインディングが&バインディングtemplate
を無視しているように見えるため、クロームでロードしようとしました。しかし、私はすでにすべてのノックアウト.js愛好家の注目を集めているので、ここにプラグインしようと思いました:p. 構文に問題は見られませんが、関連している可能性もあります。class
attr
template