問題タブ [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.

0 投票する
1 に答える
65 参照

purescript - パルプ psi からの Halogen アプリケーションの編集と実行

ビジュアライゼーションを生成する小さな Purescript アプリケーションに取り組んでいます。ただし、私のアーキテクチャは少し伝統的ではなく、いくつかの問題があります。ここに私が欲しいものがあります:

  1. pulp psci -- --port 8080ブラウザを起動して接続する
  2. goビジュアライゼーションの定義を受け入れ、それをいくつかのコントロールとともにレンダリングする関数を呼び出します
  3. 結果を参照してください。REPL に戻り、場合によっては新しい定義をいくつか作成します。
  4. ステップ 2 に進み、 で新しいビジュアライゼーションを描画しgoます。

goこの種のものはこれまでのところ機能しますが、私の問題は、DOM のコンテンツを置き換えるのではなく、DOM のコンテンツを置き換えるのではなく、それらに追加されるという繰り返しの呼び出しです。これは、数回の呼び出しの後、すべてのコントロールとすべての多くのコピーを取得することになることを意味します。

これはちょっとしたハックだと思いますが、この種のインタラクティブなインターフェイスを提供するために考えることができる唯一の他の方法は、エディター/パーサーを実装することであり、それはあまりにも面倒です.これを回避する方法はありますか?

go変更する必要があると私が想像するの私の定義は次のとおりです。

0 投票する
1 に答える
256 参照

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 にアクセスできます。

0 投票する
1 に答える
111 参照

purescript - ページ上の要素の PureScript Halogen 座標

カーソルを合わせたときにこのイベントをトリガーしたページ上の要素自体の座標を取得するにはどうすればよいですか? purescript では、ページ、スクリーン、およびクライアントの座標を取得する機会があります。マウスの下にある要素自体の座標を知ることはできますか?

0 投票する
1 に答える
223 参照

events - Purescript Halogen で自動インクリメント カウンターのようなものを実装する方法

React のような非常に単純なインクリメント コンポーネントが与えられた場合:

これは Purescript の Halogen にどのように変換されますか? オンラインでさまざまなことを調べてみましたが、自分のプロトタイプに取り込める例をまだ見つけていません。どのエクスポージャーがEffect.Timeを公開setIntervalしているかはわかっていますが、これを使用して状態を更新できる何かをトリガーするにはどうすればよいでしょうか (制御されたアクションで、 を介してhandleAction)。

アプリケーションを Elm から Halogen に移動しようとしていますが、そのアプリケーションではsubscriptions、直接のユーザー入力と相関しないアプリケーションの状態を更新するために、機能の重要な部分を関数に依存しています。Halogen に同様の機能がある場合 (subscribe親コンポーネントと子コンポーネント間の通信に関連しているように見えますが、見たことがありますが、これを誤解している可能性があります...)、それを指摘するのは良いことです。