***


Vueは、ユーザーインタフェースを構築するための漸進的なフレームワークです.他の大型フレームワークとは異なり,Vueは底から上へ層毎に適用できるように設計されている.Vueのコアライブラリは、ビューレイヤのみに注目し、使いやすいだけでなく、サードパーティのライブラリや既存のプロジェクトとの統合も容易です.一方、Vueは、近代的なツールチェーンやさまざまなサポートクラスライブラリと組み合わせて使用される場合、複雑な単一ページアプリケーションを駆動することができます.
    Vue.jsの核心は簡潔なテンプレート文法を用いてDOMにデータを宣言的にレンダリングできるシステムである、Vue.jsの核心は簡潔なテンプレート構文を用いてDOMにデータを宣言的にレンダリングできるシステムであり,データとDOMは関連付けられ,すべてが応答的である.1つのVueアプリケーションは、new Vueによって作成するルートVueインスタンスと、オプションのネストされた多重化可能なコンポーネントツリーからなる.
1.各Vueアプリケーションは、Vue関数で新しいVueインスタンスを作成することによって開始され、次にvueインスタンスを作成する
var data = { a: 1 }
var vm = new Vue({
    
//    data: data
})
   ,   Vue             data             。
      “  ”,         .
//           
//            
vm.a == data.a // => true

//              
vm.a = 2
data.a // => 2

// ……    
data.a = 3
vm.a // => 3

これらのデータが変更されると、ビューは再レンダリングされます.インスタンスが作成される場合にのみ、dataに存在する属性が応答式であることに注意してください.
つまり、次のような新しい属性を追加するとします.
vm.b = 'hi'

bの変更は、ビューの更新をトリガーしません.後で属性が必要になることを知っていますが、最初は空か存在しません.
初期値を設定するだけです例:
data: {
        
  newTodoText: '',
  visitCount: 0,
  hideCompletedTodos: false,
  todos: [],
  error: null
}

例外は使用
Object.freeze()
これにより、既存のプロパティの変更が阻止され、応答システムが再利用できないことを意味します.トレース_変化する.
var obj = {
    
  foo: 'bar'
}

Object.freeze(obj)

new Vue({
    
  el: '#app',
  data: obj
})

テンプレートの変更
obj,dataは更新されません

データ属性に加えて、Vueインスタンスはいくつかの有用なインスタンス属性と方法を暴露した.ユーザー定義のプロパティと区別するために、接頭辞$があります.例:
var data = { a: 1 }
var vm = new Vue({
        
  el: '#example',
  data: data
})

vm.$data === data // => true
vm.$el === document.getElementById('example') // => true