ひよっこ。

I want to…

Posts Tagged ‘meteor’

Meteorで画面遷移を実装する(泥臭い感じ)

Posted by hikaruworld : 2012 9月 12

最近Meteorで遊んでいます。

簡単にプログラムできて楽しいのですが、
Meteorは基本的には画面遷移を持たない構成が前提になっているらしく、
画面遷移を実装するためには少し工夫する必要があります。

Meteorのテンプレート機能にはif文などの制御文を書く事が可能です。
今回はこの制御文とSessionを介したReactiveProggramingモデルを使って、
Sessionに状態を格納して画面遷移を制御します。

index.htmlに以下の様に定義します。

// index.html
<body>
    {{> state}}
</body>

<template name="state">
    {{#if state_is "login"}}{{> login}}{{/if}}     // LOGIN状態の場合
    {{#if state_is "main"}}{{> main{{/if}}       // MAIN状態の場合
</template>

<template name="login">
    <h3>ログイン</h3>
</template>

<template name="main">
    <h3>メイン画面</h3>
</template>

javascriptでstate_isの関数を定義します

// index.js
/** 引数に指定した状態とSessionに格納した状態が同じ場合にtrueを返す */
Template.state.state_is = function(state) {
    return Session.get("STATE") === state;
}

あとは、Sessionに状態を設定すると画面が遷移します。
デベロッパーツールなどのjavascriptコンソールでSession#setで値を設定してみます。

Session.set("STATE", "login");
Session.set("STATE", "main");

ちなみにmeteor.comにデプロイもしてみました。

ちなみにこちらのサイト(英語)が参考になりました。

以上です。

広告

Posted in program | タグ: , | Leave a Comment »

meteorをhomebrewでインストールする

Posted by hikaruworld : 2012 9月 12

Meteor はcurlで簡単にインストールできるのですが、
Macだとhomebrewでインストールできると色々と楽です。

何か方法がないかなーと思って探していると、issues16を発見。
GistにFormulaが公開されていたので拝借します。

ここで公開されているバージョンは、0.3.8のため、0.4.0に修正しておきます。
sha1の修正も必要です。

# git clone https://gist.github.com/3072321
require 'formula'

class Meteor < Formula
  homepage 'http://www.meteor.com'
  url 'http://d3sqy0vbqsdhku.cloudfront.net/meteor-package-Darwin-x86_64-0.4.0.tar.gz'
  sha1 'eeddf0a529e6664e99cb10e8335389b53e95abde'

  def install
    libexec.install(Dir['{.*,*}'] - ['.', '..']) # includes dotfiles
    (bin+'meteor').write <<-EOS.undent
#!/bin/bash
exec "#{libexec}/bin/meteor" "$@"
EOS
  end

  def test
    system "#{bin}/meteor", '--version'
  end
end

自分のgithubにupしたので、tapでgithubに登録しておきます。

brew tap hikaruworld/local

あとは、インストールするだけでOK。

brew install meteor

以上です。

Posted in program | タグ: , | Leave a Comment »