問題タブ [halogen]
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.
purescript - パルプ psi からの Halogen アプリケーションの編集と実行
ビジュアライゼーションを生成する小さな Purescript アプリケーションに取り組んでいます。ただし、私のアーキテクチャは少し伝統的ではなく、いくつかの問題があります。ここに私が欲しいものがあります:
pulp psci -- --port 8080
ブラウザを起動して接続するgo
ビジュアライゼーションの定義を受け入れ、それをいくつかのコントロールとともにレンダリングする関数を呼び出します- 結果を参照してください。REPL に戻り、場合によっては新しい定義をいくつか作成します。
- ステップ 2 に進み、 で新しいビジュアライゼーションを描画し
go
ます。
go
この種のものはこれまでのところ機能しますが、私の問題は、DOM のコンテンツを置き換えるのではなく、DOM のコンテンツを置き換えるのではなく、それらに追加されるという繰り返しの呼び出しです。これは、数回の呼び出しの後、すべてのコントロールとすべての多くのコピーを取得することになることを意味します。
これはちょっとしたハックだと思いますが、この種のインタラクティブなインターフェイスを提供するために考えることができる唯一の他の方法は、エディター/パーサーを実装することであり、それはあまりにも面倒です.これを回避する方法はありますか?
go
変更する必要があると私が想像するの私の定義は次のとおりです。
websocket - Web ページの現在のベース URL を取得する
F# のバックエンド Suave アプリケーションによって提供されている PureScript アプリを実行しています。フロントエンドでは、PureScript でバックエンドへの WebSocket 接続を開く必要がありますが、パスの一部は、バックエンド アプリの実行方法に基づいて動的にする必要があります (たとえば、一部のボックスでは:ws://host1:9999/ws/blah
であり、他のボックスでは次のようになる場合があります)。ws://host2:7777/ws/blah
)。
そのため、アプリが提供されている現在の URL を取得して、 aws://
を先頭に、aws/blah
を最後に配置できるようにする必要があります (または、何らかの方法で相対 WebSocket パスを実行しますか?)。
私は次のようなことを試みました:
ただし、指定されたドキュメントの URLhttp://
は先頭にあります。文字列をハッキングしてその部分を切り取ることもできますが、もっとエレガントな方法を見つけたいと思っています。
問題があれば、ここでも Halogen を使用しているので、この状況で役立つものがあれば API にアクセスできます。
purescript - ページ上の要素の PureScript Halogen 座標
カーソルを合わせたときにこのイベントをトリガーしたページ上の要素自体の座標を取得するにはどうすればよいですか? purescript では、ページ、スクリーン、およびクライアントの座標を取得する機会があります。マウスの下にある要素自体の座標を知ることはできますか?
events - Purescript Halogen で自動インクリメント カウンターのようなものを実装する方法
React のような非常に単純なインクリメント コンポーネントが与えられた場合:
これは Purescript の Halogen にどのように変換されますか? オンラインでさまざまなことを調べてみましたが、自分のプロトタイプに取り込める例をまだ見つけていません。どのエクスポージャーがEffect.Time
を公開setInterval
しているかはわかっていますが、これを使用して状態を更新できる何かをトリガーするにはどうすればよいでしょうか (制御されたアクションで、 を介してhandleAction
)。
アプリケーションを Elm から Halogen に移動しようとしていますが、そのアプリケーションではsubscriptions
、直接のユーザー入力と相関しないアプリケーションの状態を更新するために、機能の重要な部分を関数に依存しています。Halogen に同様の機能がある場合 (subscribe
親コンポーネントと子コンポーネント間の通信に関連しているように見えますが、見たことがありますが、これを誤解している可能性があります...)、それを指摘するのは良いことです。