問題タブ [singlepage]
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.
javascript - バックボーンjsでルーターにグローバルにアクセスするには?
これは私の app.js ファイルです。クラスのメソッドnavigate
内からルーターのメソッドにアクセスする必要があります。しかし、appRouter はビューの後に定義されているため、ビュー内からルーターを認識できません。そのため、任意のクラスまたはメソッドからルーターにグローバルにアクセスする方法を見つける必要があります。どうすればこの問題を回避できますか?navigateToLogin
LandingView
jquery-mobile - ノックアウトとsammyjs/pathjsおよびjquerymobileの組み合わせ
いくつかのJSライブラリを組み合わせてモバイルSPAWebサイトを作成しようとしています。ルーティングエンジンがないknockoutJSを使用しているので、SammyJSまたはPathJSから取得します(まだ決定していません)。そして、jQuery Mobileを使用して、コントロールとモバイルデザインを取得したいと思います。
問題は、jquery mobile jsファイルをページに含めると、ルーティングエンジンが機能しなくなることです。実際には機能しますが、window.location.hash
getは私だけでなくjquerymobile自体によっても変更されます。
コードは次のようになります。htmlファイルで、テンプレートにバインドしたdivを取得しました。
これで、これがfalseに設定されていることがわかります。その $.mobile.hashListeningEnabled = false;
ため、jquerymobileはハッシュの変更をリッスンしたり反応したりすることはありません。
だが!localhost / sammy /#homeからlocalhost / sammy /#home / detail / 1に移動すると、ハッシュの変更が発生し、何らかの理由ですぐにlocalhost / sammy / home / detail / 1に変更され、ハッシュ自体が省略され、ルートは実行されません。
自分のことをよく説明しなかったらごめんなさい。誰もが見られるようにサーバー上で公開するように取り組んでいますが、残念ながら時間がかかります。
その間、誰かがこれを修正するために私が何ができるかについて何か考えを持っているなら、それは素晴らしいでしょう!
knockout.js - SQLServerCompactからDateTime値を取得する際の「無効な日付」エラー
Breeze + Knockout + WebAPI + SQLServerCompactを使用した単純なプロジェクトで次の問題が発生しました。
Breeze
エンティティを(でDateTime
ko.observable
)追加して実行するとManager.SaveChanges()
、行はSQL Server Compactに正しく保存され、DateTime
列は次の形式になります23/12/2012 19.56.33
。
その後Breeze
クエリを実行すると、行が返されますが、DateTime
値が認識されません。
無効な日付
date
フィールドはkoで観察可能であるため、値/形式をデバッグできません。これはメソッドです。
SaveChanges
この形式になる前に:Sun Dec 23 21:32:05 UTC+0100 2012
SaveChanges
SQL Server Compactテーブルで次の形式で見つけた後:23/12/2012 20.32.05
おそらくBreeze
UTCでもそれを期待しています..?
どんな助けでも大歓迎です!
ありがとう
編集:
WebApiBreezeControllerから返されたjsonは次のとおりです。
asp.net-mvc - そよ風のjsを使用してDBContextと直接やり取りしない
私はbreezejsを初めて使用し、いくつか質問があります。
Breezejs には非常に優れた機能があると思いますので、独自のデータ コンテキストを置き換えることができます。ただし、breezejs が dbcontext レイヤーと直接対話することは望ましくありません。実際、私のアプリケーションでは、Service レイヤーは ViewModels のみを公開し、実際のビジネス モデルでさえも Controllers に公開していません。したがって、Breeze を使用できるかどうかはよくわかりません。Breeze の例はほとんどなく、Breeze が DBContext と直接対話するのを見ただけだからです。
ありがとう。
=========================================
答えてくれてありがとう、ウォード、
私が Breeze で気に入っている機能は、独自のクライアント側ビュー モデルを構築する時間を大幅に短縮できることです。また、SPA を構築するために、クライアント側のビュー モデルを維持することは、私にとって非常に苦痛です。特に、私のアプリケーションには、デスクトップ アプリ クライアントと他のハンドヘルド デバイスのアプリもあります。また、JSON オブジェクトから Knockout へのマッピングを処理するには、各ビュー モデルでマッパーも必要になります。
現在、私のアーキテクチャは次のようになっています。
サーバー側: リポジトリ層 <=> サービス層 <=> コントローラー (クライアント側に公開する Web API を使用)
コントローラーは、サービスを介してリクエストを送信することによってのみ、(ビュー モデルの形式で) データを取得できます。
したがって、私の質問は、Breeze を使用してクエリを実行できるかどうか、およびノックアウトとの統合が可能かどうかです。
javascript - AngularJS、ng-include を使用した ng-repeat がレンダリングされない
こんにちは、Angular の学習を始めています。ng-repeat と ng-include を組み合わせて使用すると、問題が発生します。何をしても、テンプレートをレンダリングできません。ワークスペースのリストを作成する単純なコントローラーがあり、各ワークスペースには TemplateUrl プロパティがあります。
生のテキスト {{workspace.TemplateUrl}} をレンダリングし、それを ng-include に直接入れても問題ないため、値が正しいことはわかっています。コントローラーから送信されたときは、まったく機能しないようです。テンプレートのパスもこのように引用符で囲んでみましたが、違いはありません。
実行すると、テンプレートをプルするリクエストが表示されません。私を少し狂わせるので、誰でもこれを手伝ってもらえますか。
コントローラーコード
iis - IIS での ASP.Net MVC 4 SPA Web アプリケーションのホスティング
ASP.NET MVC 4 SPAでアプリケーションを使用しています。Web-tools 2012.2 をインストールした後、Visual Studio 2012 のテンプレートを使用して開発されました。 しかし、ローカル フォルダーに公開した後、IIS でホストしようとした作業の後、ディレクトリ リストが見つからないというエラーが発生します。通常の ASP.NET SPA でも試しましたが、結果は同じです。デフォルトのドキュメント オプションも指定しようとしましたが、役に立ちませんでした。デバッグは正常に機能し、出力を取得できます。開発マシンに IIS をインストールして試してみましたが、同じ場所でスタックしました。
ASP.NET MVC 4 SPA と Entity Framework 5.0.0.0 を使用しています
前もって感謝します。
performance - Rackspace CloudFiles CDNでindex.html(ホームページ)をホストできますか?
Webアプリ、特に最初のページの読み込み(index.html)を高速化したい。
これを行うには、Rackspace CloudFilesでmyfastapp.comをホストしてから、Joyentのノードサーバーに接続するnodeserver.myfastapp.comというサブドメインを作成します。
注:ノードサーバーは、socket.ioを介してのみ接続し、CDN(myfastapp.com)から取得する追加ファイルをクライアントに通知します。
javascript - AngularJs ReferenceError:角度が定義されていません
カスタムフィルターを追加しようとしていますが、次のコードを使用する場合:
しかし、そうすると、firebugで「ReferenceError:angularisnotdefined」というメッセージが表示されます。
アプリケーションの残りの部分は正常に動作しています。タグhtmlではなくタグdivでng-appを使用しており、https://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.js
javascript - Javascript シングルページ アプリで複数のアクティビティを処理するにはどうすればよいですか?
たとえば、メニュー画面、オプション画面、エディター画面などがあります。以前は、これらのそれぞれを提供されたクラスにラップし、それぞれに関数をアクティブ化および非アクティブ化しました。activate 関数は、関連する dom 要素を表示し、入力の受け入れを開始します。activate 関数は、関連する dom 要素を非表示にし、入力の受け入れを停止します。したがって、ユーザーがメニュー画面にいて、「オプションの設定」ボタンをクリックした場合、次のようにします。
このシナリオを処理する標準的な方法はありますか?
javascript - 単一ページ アプリケーションを構築するための JavaScript フレームワーク
私の目標は、既存の Web アプリケーションを RESTfulシングル ページ アプリケーション(SPA)に移行することです。現在、いくつかの Javascript Web アプリケーション フレームワークを評価しています。
私の要件は次のとおりです。
- RESTful データ層 (ember-data など)
- MV*構造
- 動的ルート
- テストサポート
- 慣習によるコーディング
- SEOサポート
- ブラウザ履歴サポート
- 優れた (API-) ドキュメント
- 生産準備完了
- 生活共同体
背骨
現在のアプリケーションは を使用してbackbone.js
います。全体としてbackbone.js
は素晴らしいプロジェクトですが、どこで何が行われ、どのように実装される必要があるかを決定する明確に定義された構造が欠けています。開発者が変わる大規模なチームで作業すると、ある種の構造化されていないコードが発生し、保守が難しく、理解が困難になります。これが、私が今、これらすべてのものをすでに定義しているフレームワークを探している理由です。
残り火
ember.js
私は最後の日々を調べました。このアプローチは私には非常に有望に思えます。残念ながら、コードはほぼ毎日変更されます。したがって、私はそれを本番対応とは呼びません。残念ながら、バージョン 1.0 になるのが待ちきれません。しかし、私はこのフレームワークの背後にあるアイデアが本当に好きです。
角度
Angular.js
も広く普及しているフレームワークであり、Google によって管理されています。しかし、角度に慣れることができませんでした。私にとっては、構造が不明確で、フレームワークの各部分の全体的な責任についての説明が欠落しており、実装が遠回りに感じられます。はっきりさせておきますが、これは私の個人的な印象であり、知識不足に基づいている可能性があります。
バットマンとメテオ
私が理解したように、両方のフレームワークにはサーバー部分も必要です。また、RESTful バックエンドが必要なだけなので、言語、技術、ソフトウェアに関係なく、これは私たちが望んでいるものではありません。さらに、バックエンド API は既に存在します (RoR)。
ノックアウト、CanJS、Spine
これら 3 つの候補については、これ以上深く掘り下げませんでした。たぶん、これが私の次のステップになるでしょう。
だから今私の質問:
- 適切な SPA フレームワークがありませんか?
- どのフレームワークを提案/推奨しますか?
- 上記のフレームワークのいずれかを回避しますか?
- 大規模な SP アプリケーションでの経験は?
PS: Steven Anderson (Knockout.js のコア開発者) による "Throne of JS" カンファレンス (2012 年から) と JavaScript フレームワーク全般に関する素晴らしいブログ投稿をお勧めしたいと思います。
PS: はい、SO に関する質問が既にあることは知っています。しかし、SPA の開発は急速に進んでいるため、それらのほとんどは既に時代遅れになっています。