0

私はリーダーボードアプリを学び、愛そうとしている初心者です。提案を実行する方法を学ぶためのリソースを見つけるにはどうすればよいですか?


スコアによる並べ替えと名前による並べ替えを切り替えるボタンを作成します。ヒント: セッション変数を使用して、現在の並べ替えの選択を保持します。

全員のスコアを乱数にリセットするボタンを作成します。(これを実行するためのコードがサーバーの起動コードに既にあります。このコードの一部を取り出して、クライアントとサーバーの両方で実行できますか?)

リーダーボードから科学者を追加および削除する方法を実装します。

このようなことをする方法を学びたいです。

4

5 に答える 5

2

Meteorは非常に新しいものです。残念ながら、オンラインには豊富な情報がなく、チュートリアルはほとんどありません。情報と学習の最良の情報源はドキュメントです。

Meteorドキュメント: http ://docs.meteor.com/

Tutoial: http ://www.skalb.com/2012/04/16/creating-a-document-sharing-site-with-meteor-js/

チャットの方法に関するビデオ:http: //vimeo.com/40300075

于 2012-04-26T20:45:30.023 に答える
1

ソートに加えて、Leaderboardの移植版にCoffeeScript + Less+Bootstrapへのその他のいくつかの拡張機能を実装しました。

ブログhttps ://srackham.wordpress.com/2012/04/22/meteor-leaderboard-with-coffeescript-less-and-bootstrap/

コードhttps ://github.com/srackham/leaderboard-coffeescript

于 2012-04-27T01:05:03.383 に答える
0

あなたが探しているコードを正確に含む最新のデモンストレーションPartiesを使用しました。ユーザーがパーティーを作成する方法を確認してください。例はとても良いです。

次のコマンドを実行すると、アプリケーションをプルしてコードを表示できます。

meteor create --example parties

具体的には、model.js ファイルに注目してください。

 createParty: function (options) {
    options = options || {};
      throw new Meteor.Error(400, "Required parameter missing");
    if (options.title.length > 100)
      throw new Meteor.Error(413, "Title too long");
    if (options.description.length > 1000)
      throw new Meteor.Error(413, "Description too long");
    if (! this.userId)
      throw new Meteor.Error(403, "You must be logged in");

    return Parties.insert({
      owner: this.userId,
      title: options.title,
      description: options.description,
    });

各メソッドがどのように呼び出されるかを理解するには、優れた IDE が必要です。Sublime Text2を使用して、「createParty」などのインスタンスを検索します。アプリケーションを引き離すことができます。パーティー アプリにフィールドを追加して、知識をテストできるかどうかを確認してください。自分のビールのチェックボックスを持参しますか?

Meteor DocsMeteor.methodsMeteor.publishMeteor.subscribeに集中して読んでください。テンプレート イベントも本当に役に立ちました。

于 2012-11-12T08:44:56.130 に答える
0

私はMeteorを初めて使用しますが、次のようにしてこれを機能させました:

* HTML 内

<template name="leaderboard">
  <div class="sort">
    <input type="button" class="sortByName" value="name" />
    <input type="button" class="sortByScore" value="score" />
  </div>
  <div class="leaderboard">
    {{#each players}}
      {{> player}}
    {{/each}}
  </div>
...

* Leaderboard.js ファイル内

Template.leaderboard.players = function () {
  //if sortByName === true
  if (Session.get("sortByName")) {
    return Players.find({}, {sort: {name: 1, score: -1}});    
  } else {
  // if score
    return Players.find({}, {sort: {score: -1, name: 1}});
  }
};

Template.leaderboard.events({
  'click input.inc': function () {
    Players.update(Session.get("selected_player"), {$inc: {score: 5}});
  },
  // if name button is clicked
  'click input.sortByName': function () {
    Session.set("sortByName", true);
  },
  // if score button is clicked
  'click input.sortByScore': function () {
    Session.set("sortByName", false);
  }
});
于 2013-05-17T21:55:37.653 に答える