問題タブ [appcelerator-alloy]

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 に答える
365 参照

appcelerator - Appcelerator Titanium - ログイン画面によるクロス プラットフォーム ナビゲーション コントロール

これまで、アプリを使用するときは、Titanium クラシック プロジェクトを使用して以来、ナビゲーション コントロール ライブラリを使用してきました (Alloy アプリの作成に移行したときに使用しました)。

Employee Directoryのソースを調べたところ、クロスプラットフォーム ナビゲーションをより「Alloy」な方法で作成する別の (似ているが) 興味深いアプローチが見つかりました。コントローラーはindex.xmlビューにあり、ロジックはindex.jsコントローラーにありますが、アプリは実際には別のディレクトリコントローラービューで開始されます。

この方法は、従来のコードよりも少しクリーンであると言わざるを得ません。

しかし、今ビルドする必要があるアプリの一部であるレガシー コードにあるものの 1 つは、ログイン画面です。私がコードで行っていることは、ユーザーがログインしているかどうかを確認することです。ログインしている場合は最初に開くウィンドウがログイン画面であり、ユーザーがログインしている場合はメインアプリを開きます。

この例では、メイン ウィンドウはビュー自体に設定されています。

私のジレンマは、ユーザーがログインしていない場合にログインを開く方法です。そのログインをメインウィンドウビューに移動することを考えました。ユーザーがログインしていない場合は、ログインコントローラーが必要です。画面全体を表示し、そのビューを画面に追加します。ユーザーがログインしたら、そのビューを削除します。

私が探しているソリューションは、アプリのパフォーマンスに影響を与えるべきではなく、ユーザーがアプリを初めて開いたときに「ちらつき」を表示しないようにしています (ログインの背景画像はスプラッシュ画面)。そのため、ユーザーにはメイン アプリの白い背景とログイン ロードが表示されることはありません。

そのような状況での正しい答えは何ですか (古いコードのみのナビゲーション コントローラーを使用し続けることを犠牲にしても)?

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

android - Alloy listView android - スクロールすると動的データが消える

listViewそれをテストするために基本を作成しました。ios バージョンは意図したとおりに動作します。Genymotion Android エミュレーターで、スクロールすると、バインドされた動的データが空白/null で上書きされます。これは、一般的な合金テスト アプリでここにリストされているこの要点を使用して簡単に実証できます。index.*それぞれのファイルにコードを追加するだけです。ディレクトリmoment.jsにの最新バージョンが必要です。/lib

なぜ上書きされるのですか?listViewコンポーネントを再利用する方法と関係があると思われます。どうすれば修正できますか?

ありがとう。

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

ios - Titanium Appcelerator 合金プロジェクトで発生する奇妙なイベント バブリングの問題

私は iOS 9.2 SDK & Titannium SDK v5.1.2.GA で開発しています。

私のiPadアプリでは; 「割引」ボタンのある商品タブページがあります。クリックすると、TextField とピッカーを含むポップオーバーが次のように表示されます。

ここに画像の説明を入力

上記はオンザフライで作成されます。(コントローラー+ビューを使用していません)。

これは意図したとおりに機能します。私はこれをもう少し拡張して、製品に与えられた割引をalloy.jsというグローバル配列変数に記録Alloy.Globals.ProductDiscounts = [];することで (後で使用できるように) したいと考えました。

新しい割引価格を「キャプチャ」する方法は、ピッカーの「非表示」イベントをリッスンすることです。次に、グローバル配列を更新します。

デバッグ目的で、正しく記録されていることを確認するためにコンソール ログを追加しました。その後、Appcelerator Studio コンソール ウィンドウに、次のような無限の出力が表示されるようになりました。

ここに画像の説明を入力

ヌルのこの奇妙な一定の出力を停止するには、シミュレーターを強制終了する必要がありました。

これはこれまでの私のコードですが、コンソール ウィンドウが飛び散っている理由がわかりませんか? また、グローバル配列が設定されないのはなぜですか? または、設定されていますが、実際の console.log エントリを見逃しましたか?

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

appcelerator - Appcelerator App Designer で動作するチタン合金コントローラー?

appcelerator studio で 1 つのサンプル合金アプリを作成しました。xmlではなくコントローラー (.js)で UI を設計しました。では、アロイ コントローラー (.js) に appcelerator アプリ デザイナーを使用するにはどうすればよいでしょうか。

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

backbone.js - Alloy モデルはいつ初期化されますか?

モデルの前に Alloy コレクションが最初に初期化されると確信しています。しかし、この初期化がいつ開始されるかはわかりません。

  1. Alloy.js、index.js、またはその他の .js ファイルを実行した後ですか?
  2. 最初のウィンドウが開く前ですか、それとも後ですか?
  3. index.js の開始時に初期化が確実に行われるように、初期化プロセスを強制的に呼び出す方法はありますか?
0 投票する
1 に答える
76 参照

ios - LeftNavButton と RightNavButton の領域外のクリック イベント リスナーを制限できませんか?

appcelerator studio で 1 つのサンプル合金アプリを作成しました。外側のボタン(画像)をクリックすると、イベントも実行されます。クリックイベントを制限する方法、LeftNavButtonまたはRightNavButtonの外でイベントを実行した場合。助けてくれませんか。

signIn.js :

signIn.tss:

signIn.xml:

サンプル画面ビュー

ここに画像の説明を入力

0 投票する
2 に答える
386 参照

ios - iOS で Appcelerator Alloy アプリの SVG に対して onClick が機能しない

このウィジェットを使用して、Titanium Alloy アプリで SVG を表示しています。

https://github.com/appcelerator-services/VectorImage

SVG は正常に表示されますが、iOS で SVG をタップすると onClick イベントが発生しません。Onclick は Android で動作します。onClick をウィジェット自体に適用するだけでなく、それを含む要素に適用しようとしました。含まれている要素はクリックできますが、SVG はクリックできません。

SVG を表示するためのより良いウィジェットはありますか、それとも onclick の適用に何か問題がありますか?