問題タブ [google-closure-library]
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.
python - Python で循環依存関係を検出する
クラスの_ResolveDependencies
メソッドが循環依存を検出できる理由がわかりません。requiresとand requiresDepsTree
の場合は状況を検出できるようですが、循環依存ではありません。a
b
e
b
e
google-closure-library - Google の Closure Javascript ライブラリでサポートされているブラウザとデバイスは何ですか?
Android、Safari (iOs) などが Google Closure ライブラリでサポートされているかどうかはどこで確認できますか?
yui3 - クロージャーライブラリまたはYUI3
私はPython、djangoを使用してエンタープライズWebアプリケーションを設計しています。私が最終的に決定するのは、使用するjavascriptライブラリです。GoogleのクロージャーライブラリまたはYUI3の使用を考えています。開発のほとんどは、jQueryを使用しました。jQueryを使用して高速にコーディングできますが、エンタープライズでの使用には適していないようです。
YUI3はかなり良いようです。使用したいほとんどのウィジェットが含まれていますが、Closureライブラリはほとんど同じです。Closureライブラリのより良いオファーはClosureCompilerを持っていることですが、ClosureはYUI3よりもはるかに多くのコードを書く必要があるようです。YUI3のドキュメントもかなり良いです。
アプリケーションはWebデバイスとモバイルデバイスの両方を対象としているため、AndroidやiPhoneなどのモバイルデバイスでライブラリが破損することはありません。
もしあなたが私だったら、あなたはどのような決断をしますか?
javascript - 条件が満たされるまで JS を非同期に遅延させる
長時間実行される HTTP 要求を受信した後にのみレンダリングできるクラスがありChatRoom
ます (1 秒または 30 秒かかる場合があります)。したがってChatRoom.json
、 null でなくなるまでレンダリングを遅らせる必要があります。
以下のコードでは、Closure Library のgoog.async.ConditionalDelay
. それは機能しますが、これを行うためのより良い方法はありますか (おそらく Closure Library を必要とせずに)?
"while (json == null) { }" は同期的 (他のすべての JS 実行をブロックする) であるため、使用できないことに注意してください。
google-closure-compiler - console.time の使用
Google Closure Library とそのコンパイラを使用してアプリケーションを作成しています。値をデバッグするには、 を使用しますconsole.log()
。これをコンパイルすると、次の例外がスローされますJSC_UNDEFINED_VARIABLE. variable console is undeclared at ...
。このエラーを解決するには、window.console.log()
代わりに使用する必要がありました。
関数にかかる時間も測定したいと思います。Firebug には 2 つの優れた機能がconsole.time(name)
ありconsole.timeEnd(name)
、それを非常に簡単に行うことができます。残念ながら、Closure Compiler はこれらの関数をサポートしておらず、次の警告がスローされますJSC_INEXISTENT_PROPERTY. Property time never defined on Window.prototype.console at ...
。残念ながら、この警告を prepending で解決することはできませんwindow
。
ライブラリも見てみましたが、 goog.debug.Console には必要な機能がありません。
私が以前に使用した別の解決策は、次のようなものでした
非常に頻繁に使用する場合、これは少し多すぎるコードであり、2 つの機能を備えたバージョンが最適です。
これにより、開始と終了の間の MS が出力されます。しかし、前述のように、これはクロージャ コンパイラでは機能しません。window.console.time()
これらの2つの機能をどのように使用できますwindow.console.timeEnd()
か? それとも、 goog.closure が提供する別の解決策が見つかりませんか?
javascript - 画像ファイルを使用して goog.ui.Button のインスタンスを作成する
私は Google Closure ライブラリに比較的慣れていませんが、現在の障害は、(テキストではなく) 画像を使用してプログラムでレンダリングするボタンを取得することです。ボタンのコンテンツとして img タグを追加しようとしました:
ただし、空白のボタンはページに表示されますが、画像は表示されません。生成された HTML を調べると、コンテンツのないボタン タグが表示されます。
を指定するスタイル属性を追加することも検討しましたbackground-image
。ただし、ボタン API を使用してこれを実現する方法は明確ではありません。
これを達成する方法についての考えや例はありますか? 助けに感謝します。
編集: Dave Paroulek の支援を受けてたどり着いた解決策は次のとおりです。
closures - ドラッグした要素をGoogleクロージャーライブラリでグリッドにスナップ
お願いします、
Google Closure Libraryでドラッグ可能な要素を作成し、グリッドにスナップする方法は?
例:jQueryUIにはオプショングリッドがあります:
$(".selector").draggable({grid: [50, 20]});
google-closure-compiler - Google Closureでsoyutilsを使用する正しい方法は何ですか?
Google ClosureでGoogleClosureテンプレート(Soy)を使用しようとしています。
soyutils_usegoog.js
指示に従ってユーティリティファイルを含めています。このファイルは、生成されたテンプレートで使用される多くのユーティリティ、特にを提供しますsoy.StringBuilder
。作成方法は次のとおりです。
soyutilsファイルにはgoog.string.StringBuffer
上記の数行が必要ですが、非コンパイルモードで実行すると、 soyutilsが実行されるStringBuffer
までに存在するJSファイルがロードされないため、ランタイムエラーが発生します。
私が間違っていない限り、ClosureのJSファイルは、「必要な」名前空間にすぐにアクセスするべきではありません。タグは、現在のスクリプトの実行後にのみ追加される<script>
ため(非コンパイルモード)、すぐに使用するとランタイムエラーが発生します。
soyutils_usegoog.js
つまり、の早期アクセスによるランタイムエラーをトリガーせずにロードするにはどうすればよいですかgood.string.StringBuffer
。
javascript - コンポーネントのすべてのアニメーションを終了前に破棄できるようにする方法は?
ページ上の要素を選択すると、Json が要求され、 とをgoog.fx.dom.FadeInAndShow
使用してページ遷移のアニメーションが開始されますgoog.fx.dom.FadeOutAndHide
。
要素をクリックしてからすぐに別の要素をクリックすると、リクエストはキャンセルされ、最新のクリックからのデータが入力されますが、アニメーションは前のクリックから完全に終了していないため、着信が発生します。情報は、前のアニメーションによって影響を受ける可能性がありますEND
。
getAnimations
コンポーネントにアニメーションがあり、.destroy()
終了する前にアニメーションを実行できるようなものがあるかどうか疑問に思っています。