問題タブ [svelte]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 複数のコンポーネントを js ファイルにロードしますが、必要なものだけを使用します
洗練されたフレームワークを使用してコンポーネントを作成する方法を学んでいます。しかし、js ファイルにロードしたコンポーネントから 1 つのコンポーネントのみのインスタンスを作成できませんでした。
だから、これは私のhtmlファイルです:
私のjs入力ファイル(コンポーネントをインポートする場所):
そして、コンポーネントの html:
したがって、この時点で、js 入力ファイルにインスタンスがあるため、コンポーネントがロードされます。現時点で、2 つ目のインスタンスが必要な場合は、js ファイル自体の 1 つを作成する必要があります。私は、必要なすべてのコンポーネントをjsファイルにインポートし、それらを使用したいhtmlファイルにインポートするだけのように考えていました。
これは可能ですか?ドキュメントを読んでいますが、必要なものが見つかりません。
編集:私もwebpackを使用していると言うのを忘れていました。したがって、入力ファイルと出力ファイル。複数のコンポーネントを使用することができました。私が見つけた解決策は、js入力ファイルでこれを行うことでした:
インポートしたオブジェクトをグローバル変数に入れて、次のように、必要な場所で呼び出すことができるようにします。
それでも、私はこの解決策を持っていますが、グローバルオブジェクトに依存することなく、js入力ファイルに一度だけインポートしてから、必要な場所で次のように呼び出すだけです。
React.js についてはあまり見たことがありませんが、プログラマーがこれを行っているのを一般的に見ている方法です。私は同じことを期待していました。それでも、他にやらなければならないことがあるので、後で最適化するために、今のところこのままにしておきます。
それでも、誰かがこれを行う方法を知っていれば、私はすべて耳です。私は Svelte を初めて使用し、ドキュメントを除いてあまり情報がないため、同じ部分で少し混乱していると思います.
svelte - トップレベルの <:Body> インジェクション?
次のコンポーネントがあるとします<TopLevelThing>
。
のトップレベルで使用することを意図しています<body>
。
<body>
ただし、トップレベルにはほど遠い、の奥深くにあるコンポーネントの一部として使用したい場合があります。
これは、次のような特別なタグで実現できます。
Svelte は、これを<body>
他の要素と並んでトップレベルに挿入します。ただし、コンポーネントのすべての機能 (ライフサイクル、プロパティ、およびコンポーネントの編成と構造の一部) は保持されます。
Svelteでこのようなことは可能ですか?
余談ですが、これは回避策で実現できると思いますが、具体的な機能があるのか どうか疑問に思っていました.