中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue.js語法及常用指令有哪些

發布時間:2021-08-13 10:23:51 來源:億速云 閱讀:162 作者:小新 欄目:web開發

這篇文章主要為大家展示了“vue.js語法及常用指令有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“vue.js語法及常用指令有哪些”這篇文章吧。

Vue.js是當下很火的一個JavaScript MVVM(Model-View-ViewModel)庫,它是以數據驅動和組件化的思想構建的。相比于Angular.js,Vue.js提供了更加簡潔、更易于理解的API,使得我們能夠快速地上手并使用Vue.js。

如果你之前已經習慣了用jQuery操作DOM,學習Vue.js時請先拋開手動操作DOM的思維,因為Vue.js是數據驅動的,你無需手動操作DOM。它通過一些特殊的HTML語法,將DOM和數據綁定起來。一旦你創建了綁定,DOM將和數據保持同步,每當變更了數據,DOM也會相應地更新。

當然了,在使用Vue.js時,你也可以結合其他庫一起使用,比如jQuery。

1.使用

使用Vue的過程就是定義MVVM(Model-View-ViewModel)各個組成部分的過程的過程。

<!--這里定義View-->
<div id="app">{{ message }}</div>
<script src="js/vue.js"></script>
<script>
    // 這里定義Model
    var exampleData = {
      message: 'Hello World!'
    }
    // 這里創建一個 Vue 實例或 "ViewModel"
    // 連接 View 與 Model
    new Vue({
      el: '#app',
      data: exampleData
    })
</script>

2.Vue.js的常用指令

Vue.js提供了一些常用的內置指令,接下來我們將介紹以下幾個內置指令: 

?v-if指令
?v-show指令
?v-else指令
?v-for指令
?v-bind指令
?v-on指令

Vue.js具有良好的擴展性,我們也可以開發一些自定義的指令,后面的文章會介紹自定義指令。

2.1 v-if指令

v-if后面賦予 可以轉化為布爾類型的表達式

<div id="app">
      <h2>Hello, Vue.js!</h2>
      <h2 v-if="yes">Yes!</h2>
      <h2 v-if="no">No!</h2>
      <h2 v-if="age >= 25">Age: {{ age }}</h2>
      <h2 v-if="name.indexOf('jack') >= 0">Name: {{ name }}</h2>
</div>
 <script src="js/vue.js"></script>
 <script>
    var vm = new Vue({
      el: '#app',
      data: {
        yes: true,
        no: false,
        age: 28,
        name: 'keepfool'
      }
    })
 </script>

這里最后就輸出

<div id="app">
  <h2>Hello, Vue.js!</h2>
  <h2>Yes!</h2>
  <!---->
  <h2>Age: 28</h2>
  <!---->
</div>

2.2 v-show

 <div id="app">
      <h2>Hello, Vue.js!</h2>
      <h2 v-show="yes">Yes!</h2>
      <h2 v-show="no">No!</h2>
      <h2 v-show="age >= 25">Age: {{ age }}</h2>
      <h2 v-show="name.indexOf('jack') >= 0">Name: {{ name }}</h2>
    </div>
  </body>
  <script src="js/vue.js"></script>
  <script>
    var vm = new Vue({
      el: '#app',
      data: {
        yes: true,
        no: false,
        age: 28,
        name: 'keepfool'
      }
    })
  </script>

這里代碼只是v-if改為v-show

輸出為

<div id="app">
<h2>Hello, Vue.js!</h2>
<h2>Yes!</h2>
<h2 >No!</h2>
<h2>Age: 28</h2>
<h2 >Name: keepfool</h2>
</div>

這里區別是上面v-if直接不輸出html代碼,這里用display:none隱藏

2.3 v-else指令

<h2 v-if="age >= 25">Age: {{ age }}</h2>
<h2 v-else>Name: {{ name }}</h2>
<script src="js/vue.js"></script>
  <script>
    var vm = new Vue({
      el: '#app',
      data: {
        age: 28,
        name: 'keepfool',
        sex: 'Male'
      }
    })
</script>

 前一兄弟元素必須有 v-if 或 v-else-if,新版的vue.js新增了v-else-if用法也跟v-if一樣,不過前一兄弟元素必須有v-if或v-else-if,舊版的v-else前面可以跟v-show,但新版v-else前面不能是v-show了。

2.4 v-for指令

<div v-for="p in people">
   <h2>Age: {{ p.age }}</h2>
   <h2>Name: {{ p.name }}</h2>
   <h2>Sex: {{ p.sex }}</h2>
</div>
<script charset="utf-8" src="js/vue.js"></script>
<script type="text/javascript">
   var myModel = {
    people:[
      {
        age: 25,
        name: 'keepfool',
        sex: 'Male'
      },
      {
        age: 26,
        name: 'keepfool2',
        sex: 'FeMale'
      },
      {
        age: 27,
        name: 'keepfool3',
        sex: 'Male2'
      }
    ]
  };
 var vm = new Vue({
  el: '#app',
  data: myModel
})
</script>

父元素用v-for,子元素可以遍歷綁定的對應Array | Object | number | string

v-for還可以這樣用:

<div v-for="(item, index) in items"></div>
<div v-for="(val, key) in object"></div>
<div v-for="(val, key, index) in object"></div>

2.5 v-bind指令

v-bind指令可以在其名稱后面帶一個參數,中間放一個冒號隔開,這個參數通常是HTML元素的特性(attribute)

<div id="app">
   <ul class="pagination">
     <li v-for="n in pageCount">
       <a href="javascripit:void(0)" rel="external nofollow" v-bind:class="activeNumber === n ? 'active' : ''">{{ n }}</a>
     </li>
   </ul>
</div>
 <script src="js/vue.js"></script>
  <script>
    var vm = new Vue({
      el: '#app',
      data: {
        activeNumber: 1,
        pageCount: 10
      }
    })
  </script>

又例如:

<img v-bind:src="'/path/to/images/' + fileName">
<div v-bind="{ 'id': someProp, 'other-attr': otherProp }"></div>

2.6 v-on指令

<div id="app">
      <p><input type="text" v-model="message"></p>
      <p>
        <!--click事件直接綁定一個方法-->
        <button v-on:click="greet">Greet</button>
      </p>
      <p>
        <!--click事件使用內聯語句-->
        <button v-on:click="say('Hi')">Hi</button>
      </p>
</div>
 <script src="js/vue.js"></script>
  <script>
    var vm = new Vue({
      el: '#app',
      data: {
        message: 'Hello, Vue.js!'
      },
      // 在 `methods` 對象中定義方法
      methods: {
        greet: function() {
          // // 方法內 `this` 指向 vm
          alert(this.message)
        },
        say: function(msg) {
          alert(msg)
        }
      }
    })
  </script>

2.7 v-model指令

v-model在表單控件元素上創建雙向數據綁定

<input v-model="message" placeholder="edit me">
<p>Message is: {{ message }}</p>

以上是“vue.js語法及常用指令有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五家渠市| 蛟河市| 睢宁县| 桐庐县| 东乡| 海晏县| 车致| 社旗县| 朝阳市| 三亚市| 九龙坡区| 浦城县| 泗阳县| 普安县| 北京市| 清远市| 合水县| 泽普县| 泸定县| 曲靖市| 嘉定区| 高台县| 呼和浩特市| 那曲县| 惠来县| 海丰县| 盐城市| 定南县| 宁都县| 延长县| 平潭县| 中宁县| 禄丰县| 滁州市| 锡林浩特市| 微博| 新巴尔虎左旗| 五寨县| 安龙县| 稷山县| 武宁县|