2019/05/07

Vue.js

コンポーネントによる構成
  • 小さく、自己完結的で、再利用可能なコンポーネントを食み合わせることで大規模アプリケーションを構築できる
  • vueにおけるコンポーネントは、予め定義されたオプションを持つVueインスタンスである

  • jsファイル

Vue.component('todo-item', {
  props: ['todo'],
  template: '<li>{{ todo.text }}</li>'
})
var app7 = new Vue({
  el: '#app-7',
  data: {
    groceryList: [
      { id:0, text: 'Vegetables' },
      { id:1, text: 'Chese' },
      { id:2, text: 'Whatever else humans are supposed to eat' },
    ]
  }
})
  • html
    <div id="app-7">
      <ol>
        <todo-item
          v-for= "item in groceryList"
          v-bind:todo="item"
          v-bind:key="item.id"
        ></todo-item>
      </ol>
    </div>
<div id="app">
  <app-nav></app-nav>
  <app-view>
    <app-sidebar></app-sidebar>
    <app-content></app-content>
  </app-view>
</div>

Vueインスタンス

インスタンスプロパティまたはコールバックでアロー関数 を使用しないでください。 アロー関数は this をもたないため、this は他の変数と同様に見つかるまで親スコープをレキシカルに探索され

→レキシカルスコープ=静的スコープ 変数などが定義されたスコープや関数内に所属し、スコープ外の同名の定義に干渉しない。

テンプレート構文

  • mustache タグは、対応するオブジェクトの msg プロパティの値に置き換えられます。

動的引数

  • これ難しいな。javascriptをディレクティブの引数にできる。とだけ。

省略記法

  • v-bind:href:href
  • v-on:click@click

Ruby, Rails 関連

  • Time.zone.today これなんだろ。ふつうのtodayと違うのか。

RubyとRailsにおけるTime, Date, DateTime, TimeWithZoneの違い - Qiita

  • いつでも伊藤さんの記事に頼ってるなww
  • Railsではapplication.rbにデフォルトのタイムゾーンを設定できる。Time.zoneで確認できる。
  • 意味はDate.currentと同じ(日付型で今日)だけど、Dateクラスのインスタンスにはタイムゾーン情報が保持されないので、日付から日時に変換する場合は想定外に変換される恐れがある。←よくわかってないのでまた確認する

  • デフォルトのタイムゾーン設定がしてあるということは、DBに保存されている日時もそれにならっているという認識でOK?これは何を読めばわかるのか……。

klass.pluralize

pluralize単数形の名刺を複数形にする underscore:クラス名をファイル名に変換するAdminUseradmin_userAdmin::Useradmin/user klassは、クラスのインスタンスを変数にいれるときの慣用的な使い方らしい。

Git関連

  • 毎回、最新developを取り込むときどうするのが正解か悩む。rebaseかmergeか、ほかにも?
  • rebaseするとPRに全部表示されるのが……という記事を見た。たしかに。(開発用ブランチにMasterブランチの最新コードを取り込む - 試練の軌跡
  • 上参考にmergeで対応してみたが、PR上はマージコミットが一つ増えるだけ。file changeもかわっていない。コンフリクトもしてない。これって取り込む前はコンフリクトしてたことになるよね?見てなかった……。