問題タブ [canjs-model]
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 - CanJSモデルfindAllは、重複アイテムのリストを返します
私は次の方法can.Model
でデータを取得するために使用していますid
:
に移動すると/invoices
、次のような結果が期待どおりに表示されます。
ただし、コンソールで取得Invoice.findAll
されてコンソールに記録されたデータは次のようになり、リスト内の各要素に対して同じデータ項目が繰り返されます。
サーバーからの応答は正しいのに、なぜそれが同一のアイテムのリストとして解釈されるのですか?
javascript - CanJSモデルの動的プロパティ?
REST サービスの結果にない動的プロパティをモデルに追加したいと考えています。これらの動的プロパティは、名前の短縮、日付の書式設定などを行います。たとえば、私の CanJS モデルは次のようになります。
次に、次のようにデータを取得します。
そして、これは私の List.ejs テンプレートがどのように見えるかです:
画像のソースと開始日/終了日のテンプレートで実行しているロジックに注目してください。このロジックをモデルに入れたいので、テンプレートで行う必要があるのは次のとおりです。
このロジックをモデルレイヤーまたはテンプレートよりも適切な場所に移動するにはどうすればよいですか? 助けやアドバイスをありがとう。
javascriptmvc - Canjs モデルは解決後に undefined を返します
サーバーからデータを取得してモデル インスタンスに変換する方法が見つかりません。こちらの指示に従いましたが、まだ機能しません。これが私のセットアップです:
サービスの URL: services/foo/barOne
。応答は次のとおりです。{"calendar":1352793756534,"objectId":"id2"}
モデルは次のように定義されます。
そして、これが私がそれを使用する方法です:
さまざまなログを記録し、呼び出されたすべての関数を追跡しました。リクエストは正しく行われ、ajax は正しく解決されました。model
メソッドも正しく、適切なパラメーターを持つ型のオブジェクトを返しますConstructor
。しかし、その後、pipe
canjs の関数内で結果が失われます (つまり、が呼び出されundefined
たときに結果が得られます)。d.resolve.apply(d, arguments)
このシナリオの何が問題になっていますか? jqueryバージョン1.0.7でcanJSを使用しています
model - オブザーバブル属性からオブジェクトを取得
JSON に観測可能なものが必要です。データは次のようになります。
}
パラメータのようなオブジェクトを取得するには? わかりません-パラメーター内の k=>v またはオブジェクトの数。知っておく必要があります - param が変更されたので、data.attr('event.1.param') を取得して取得したい
出来ますか?それとも、もっと簡単な方法を教えてもらえますか?
javascript - canJS: 関連のあるモデルをロードしますが、「ベース」モデルのみを保存します
canJS で (単一のリクエストで) 関連付けを使用してモデルをロードする方法のデモを次に示します。canJS の github リポジトリ(こちら)で見つけましたが、実際には動作するように少し書き直す必要がありました (時代遅れでした) が、現在は動作しています。
私の問題は、ロードされた連絡先を変更した場合 ( contact.attr('name', 'Tom');
)、それを保存したい場合 ( contact.save();
)、連絡先と連絡先のタスクが ajax 経由でサーバーに投稿され、保存されることです。tasks
は の属性であるため、これは論理的ですcontact
。
私の問題は、連絡先のみが必要でname
ありbirthday
、id
レコードを更新するときに投稿されることです。おそらくmakeRequest
メソッドをオーバーライドし、サーバーに投稿する前に削除するtasks
必要がありますが、もっと洗練された解決策があるはずです。
願わくば、すでにこの状況に対処した canJS ユーザーがここにいることを願っています。
javascript - canjsモデルのその他のrestfunctions
4つのCRUD関数だけでなく、モデルに残りのバインディングを追加する方法はありますか?
javascript - Todo をファイルに保存する CanJS
リストを持つCanJSを使用してSPAを作成しており、ユーザーはリストを追加できます。新しく追加したアイテムをファイルに書き込んで永続的に保存したい。誰かが私を助けることができますか?
これにより、現在のブラウジング セッションのためにアイテムが一時的に保存されます。永久保存したい。
javascript - 名前でCanJS findOne
Web アプリケーションに CanJS を使用しています。検索の実装方法を知りたい。私はfindAllを実装しましたが、idではなく名前に基づいてfindOneを実装したいと考えています。
ID ではなく名前に基づいて findOne を実装したいと考えています。誰かが私を助けることができますか?Underscore.js に出会いました。名前に基づいて検索する他の方法は何ですか。
{ "id" : 1,
"name" : "CanJS",
"web" : "http://canjs.us",
"logo": "img/can.png"
},
ライブラリーのアイテムはこんな感じ。
javascript - JavaScriptMVC:モデルfindAllを使用してこれらのURLをカプセル化する方法は?
次の URL があります。
JSMVCにタスクモデルがあります:
どうすればサポートでき/task/next-week/
ますか?
次のコード:
結果は request/tasks/?range=next-week
になりますが、これは私のプロジェクトでは間違っています。
リクエストが通常のように見えるように、サービスを適切にカプセル化するにはどうすればよい/task/next-week/
ですか?
canjs - can.Model のベース サーバー URL を指定するオプションはありますか?
can.Model のベース URL を指定する方法はありますか?
サーバー パスが次のようにハードコードされていることがわかります。
私が探しているのは、モデルのベース URL を指定して、can.Model を引き続き構成できるようにする方法です。モデルは標準的な方法です。