ンンンパ

ふとしです

移転しました

vue.js + typescript をためす。

ここ丸一ヶ月ほど完全に rails おじさん化していたのでこれではいかんと vue.js をさわりなおすことに。とりあえず簡単なものをつくって雰囲気をつかんだりしたい。

vue.js + typescript 神経衰弱

データバインディングやはり最高だろうという感じで早く ie8 がこの世から去りますようにという感想しかなかった。

ところで vuew.js へのモデルの持たせ方なんだけど、data に自作クラスを渡すと容赦なく中身を書き換えられてしまう上に prototype のメソッドも吹き飛ぶ(Vue.js が data に渡した値を激しく書き換える件について)のでメソッドを持たせたい場合は

class Card{
    constructor(){
    }

    open(){
        // 処理
    }
}

ではなく

class Card{
    constructor(){
    }

    open = () => {
        // 処理
    }
}

のようにあくまで変数として格納する必要があった。ここらへん回避方法ないのかしら。確か nofollow 的な prefix でなんとかなったような記憶もあるんだけどはてさて?

ちなみに data に直接指定せずにネストした形にしても vue.js さんはちゃんと追っかけて監視用に書き換えてくれるので無駄です。参照が及ぶ範囲に独自クラスを入れるのはやめましょう。