new Component({ target }) を呼び出すと、コンポーネントがターゲットに追加されます。ターゲットの古いコンテンツをすべて新しいコンポーネントに置き換えたいと思います。どうやってやるの?
質問する
2014 次
3 に答える
0
私はこれと同じ問題を抱えていました.HTMLフォールバックを個別に作成していて、静的htmlを正確に反映するクライアント側のSvelteコンポーネントでdom全体を水和したかっただけです。ただし、ドキュメント<html>
のメソッドを使用すると、ターゲットを置き換えるのではなく追加するため、2 つのネストされた要素が作成されました。
置き換えたい要素の「親」を取得すると、うまくいくように見えました。
import App from './App.svelte';
let target = document.querySelector('html').parentNode;
new App({
target: target,
hydrate: true
});
私の特定のケースでは、より簡単に次のように書くことができます:
import App from './App.svelte';
new App({
target: document,
hydrate: true
});
最上位の<html>
要素を置き換えると、いくつかのコンソール エラーが発生しますが、役立つ場合に備えて、スクリーンショットとプロジェクトでの実装方法の詳細を以下に示します: https://github.com/plentico/plenti/issues/65#issuecomment -696391302
于 2020-09-22T19:20:11.747 に答える