1. 程式人生 > >前端與移動開發之vue-day4(5)

前端與移動開發之vue-day4(5)

computed計算屬性的使用
預設只有getter的計算屬性:

<div id="app">
    <input type="text" v-model="firstName"> +
    <input type="text" v-model="lastName"> =
    <span>{{fullName}}</span>
  </div>

  <script>
    // 建立 Vue 例項,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {
        firstName: 'jack',
        lastName: 'chen'
      },
      methods: {},
      computed: { // 計算屬性; 特點:當計算屬性中所以來的任何一個 data 屬性改變之後,都會重新觸發 本計算屬性 的重新計算,從而更新 fullName 的值
        fullName() {
          return this.firstName + ' - ' + this.lastName;
        }
      }
    });
  </script>
定義有getter和setter的計算屬性:

<div id="app">
    <input type="text" v-model="firstName">
    <input type="text" v-model="lastName">
    <!-- 點選按鈕重新為 計算屬性 fullName 賦值 -->
    <input type="button" value="修改fullName" @click="changeName">

    <span>{{fullName}}</span>
  </div>

  <script>
    // 建立 Vue 例項,得到 ViewModel
    var vm = new Vue({
      el: '#app',
      data: {
        firstName: 'jack',
        lastName: 'chen'
      },
      methods: {
        changeName() {
          this.fullName = 'TOM - chen2';
        }
      },
      computed: {
        fullName: {
          get: function () {
            return this.firstName + ' - ' + this.lastName;
          },
          set: function (newVal) {
            var parts = newVal.split(' - ');
            this.firstName = parts[0];
            this.lastName = parts[1];
          }
        }
      }
    });
  </script>

watch、computed和methods之間的對比
computed屬性的結果會被快取,除非依賴的響應式屬性變化才會重新計算。主要當作屬性來使用;
methods方法表示一個具體的操作,主要書寫業務邏輯;
watch一個物件,鍵是需要觀察的表示式,值是對應回撥函式。主要用來監聽某些特定資料的變化,從而進行某些具體的業務邏輯操作;可以看作是computed和methods的結合體;

nrm的安裝使用
作用:提供了一些最常用的NPM包映象地址,能夠讓我們快速的切換安裝包時候的伺服器地址;什麼是映象:原來包剛一開始是隻存在於國外的NPM伺服器,但是由於網路原因,經常訪問不到,這時候,我們可以在國內,建立一個和官網完全一樣的NPM伺服器,只不過,資料都是從人家那裡拿過來的,除此之外,使用方式完全一樣;
執行npm i nrm -g全域性安裝nrm包;
使用nrm ls檢視當前所有可用的映象源地址以及當前所使用的映象源地址;
使用nrm use npm或nrm use taobao切換不同的映象源地址;

相關檔案
URL中的hash(井號)