問題タブ [riot.js]
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.
innerhtml - riotjsのinnerHtml代替とは
次のようなriotjsのinnerHtmlの代替は何ですか
asdfghjkljs では、var str=document.getElementById("one").innerHtml; と記述します。しかし、同じ html タグについては、riotjs でその値を取得する必要があります。
riot.id が値「1」を返すように、どの関数が の代わりに値「asdfghjkl」を返します。
riot.js - riot.js でアニメーション化して再レンダリング後にフェードインする
jQuery アニメーションで riot.js を使用する例を教えてください。
$(selector).fadeIn()
暴動が何かを再レンダリングした後、イベントを利用して、変更された要素でjQuery を起動したいと思います。問題は、データを変更しているときに要素がまだ存在していない可能性があることです。そのため、Riot が再レンダリングを完了するまで jQuery フェードインを実行できません。
私が思い付くことができる最高のものは次のとおりですsetTimeout
。直接聞くことができるRiotのイベントはありますか?
node.js - ループ内の暴動タグ
属性と標準の HTML5 タグを使用すると正しく動作するxxx
コンポーネントがあります: . ただし、ループ内で属性を使用すると、タグは空になります: . ループでの使用はまったく可能ですか? どうすればそれを機能させることができますか?riot-tag
<article riot-tag="xxx"></article>
riot-tag
<article each="{xxxTags}" riot-tag="{xxx}"></article>
riot-tag
追加説明:
似たようなコンポーネントではありますが、いくつかの異なるコンポーネントを 1 つずつ生成する必要があります。だから私はそれらを格納するための配列を持っています:
xxx、yyy、zzzのすべてtextareas
に対して手動で 1 つずつ配置すると、正常に動作し、それぞれのコンポーネントが生成されます。しかし、私がそれをやろうとすると、chrome devtools では空 (子なし) になりますが、それ以外は手動で入れたものと同じです。each
riot.js - riot.js の子タグからデータを取得する
こんなタグ作りたい
それが機能した場合、私はそれを次のように使用できたはずです
残念ながら、これはうまくいかないようです。mydatamodel.xy が更新されず、opts.value に新しい値を割り当てることができません (例外はありません。opts.value は値を変更しません)。
子の「編集フィールド」の新しい値に従って親モデルを更新するにはどうすればよいでしょうか?
this.mytag[i].editfield を使用してデータにアクセスできます。しかし、これは大きなフォームには適していません。また、カスタム イベントを使用して、子タグでトリガーしようとしました。ただし、親タグでモデルを更新するための適切な一般的な解決策はまだ見つかりませんでした。このアプローチは、「this.mytag[i].editfield」のように不器用なものになりました。
書き込み可能な方法で子タグを作成する方法はありますか
子タグで変更されるとすぐに mydatamodel.input1 が更新される場所は?
ご意見ありがとうございます。
javascript - riot.js: 別の要素のイベントをリッスンする
a と b という 2 つのカスタム要素があるとします。a にはクリックできる別の要素が含まれており、これが発生したときにカスタム イベントをトリガーしたいと考えています。そのカスタム イベントは、要素 b によってキャッチされる必要があります。
要素 a で this.trigger を使用できますが、要素 b の this.on はイベントをキャッチしません (b でトリガーされなかったので、これは論理的に思えます)。
だから:要素bの要素aを取得して、要素bの「elementA.on()」のようなことをすることはできますか?
基本的には、RiotControl のような機能が必要ですが、ユース ケースでモーダルをトリガーし、何も保存したくないため、データを保存する必要はありません。
おそらくjQueryにフォールバックして、ドキュメントのイベントをトリガーしてリッスンすることもできますが、これは本当に良い方法ですか?
javascript - IE11 での String.replace の奇妙な動作
IE11 で奇妙な問題が発生しました。以下を考慮してください (riot.js フレームワークの一部):
このコードを localhost で実行すると、正常に動作します。しかし、ステージング環境から実行すると、\{
フラグメントは\uFFF0
(コードポイント 65520) ではなく\uFFFD
(コードポイント 65533) に置き換えられます。つまり、後で特殊文字を に戻そうとすると失敗します{
。
メソッドはブラウザのreplace
ネイティブ メソッドです。HTML (文字列は DOM 属性) と JavaScript の両方を含むファイルは、サーバーによってcharset=utf-8
ヘッダー付きで返され、そのようにエンコードされます。ステージング環境では、他のファイルにバンドルされ (圧縮やマングリングではありません)、引き続き utf-8 でエンコードされます。
なぜそうするのか、なぜ体系的でないのか、私にはわかりません。
javascript - IE11 innerHTML の奇妙な動作
IE11 の element.innerHTML で非常に奇妙な動作をします。
http://pe281.s3.amazonaws.com/index.htmlでわかるように、一部のriotjs
式は評価されません。
私はそれを2つのことまで追跡しました:
- その上のユーロ記号。としてエンコードされていますが、 or€
と同じ動作をしています。これは、通貨記号の範囲内のすべての文字と、その他の範囲の一部で発生します。標準文字を削除または使用しても問題は発生しません。
-カスタムタグとテンプレートを作成する方法。基本的にはこれを行います:\u20AC
€
riotjs
結果のe
ノードでe.childNodes
、次の配列を返します。
明らかに、ノード 2 と 3 は 1 つだけである必要があります。それらを分割すると、暴動が評価する式を認識しないため、問題が発生します。
しかし、それ以上の問題があります。問題は一貫しておらず、たとえば、https ://jsfiddle.net/5wg3zxk5/4/ というフィドルでは再現できません。ここでは、html 文字列が正しく解析されています。
だから私の質問は、特定の文字が element.innerHTML がその入力を解析する方法をどのように変更できるかということだと思いますか? どうすれば解決できますか?