vue

作者: 游侠Ing | 来源:发表于2017-11-03 16:56 被阅读0次

    简介

    Vue.js (读音 /vjuː/,类似于view) 是一套构建用户界面的渐进式框架。Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,它不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与单文件组件和Vue 生态系统支持的库结合使用时,Vue 也完全能够为复杂的单页应用程序提供驱动。

    使用

    1.直接<srcipt>引用
    直接下载js文件并用<script>标签引用,Vue会被注册一个全局变量

    var vm = new Vue({
      // 选项
    })
    

    2.CDN
    推荐:https://cdn.jsdelivr.net/npm/vue,会保持和 npm 发布的最新的版本一致。
    3.NPM
    在用 Vue.js 构建大型应用时推荐使用 NPM 安装,NPM 能很好地和诸如 Webpack 或 Browserify 模块打包器配合使用。Vue.js 也提供配套工具来开发单文件组件。

    $ npm install vue
    

    命令行工具

    通过命令行工具,可以快速搭建大型单页易用。

    npm install --g vue-cli
    vue init webpack my-project //创建基于webpack模板新项目
    cd my-project
    npm install
    npm run dev
    

    文件结构如下


    WechatIMG252.jpeg

    指令

    • v-bind
      动态绑定DOM元素属性,元素的属性由vm实例中的data属性提供。例如
    <img v-bind:src='url'>
        new Vue({
            data: {
                url: 'http://xxx.jpg'        
            }    
    })
    

    v-bind 可以简写 为: 即 <img :src='url'>

    • v-model
      实现双向数据绑定
      <label>name:</label><input type="text" v-model="name" />
    //js
     export default {
            name: 'About',
            data: function() {
                return {
                    name: '1231'
                };
            },
        }
    
    • v-if/v-else/v-show
      根据条件展示对应的模板内容。v-if 和 v-show 的区别在于,v-if在false的情况下不进行编译,v-show 会在编译后将元素隐藏掉。v-if的切换消耗比v-show高。
    <input type="button" v-if="show" value="yes" />
    <input type="button" v-else value="no" />
    //js
     export default {
            name: 'About',
            data: function() {
                return {
                    show: true
                }
            },
        }
    
    • v-for
      用于数据循环
     <el-table-column v-for="column in columns" v-bind:key = "column.prop" :prop=
        "column.prop" :label="column.label">
     </el-table-column>
    
    • v-on
      用于事件绑定
    <button v-on:click='click'></button>
    
     export default {
            name: 'About',
            data: function() {
                return {
                    show: true
                },
            method :{
                click: () => {...}
            }
        }
    
    

    可以简写为

    <button @click='click'></button>
    
    • v-text
      参数为string 更新元素的textContent ,{{}}编译后一致。可以避免闪烁。
    <span v-text="msg"> </span>
    
    • v-html
      更新元素的innerHTML 和v-text类似
    <div v-HTML='htmlStr'></div>
    

    计算属性

    <div id="example">
      <p>Original message: "{{ message }}"</p>
      <p>Computed reversed message: "{{ reversedMessage }}"</p>
    </div>
    var vm = new Vue({
      el: '#example',
      data: {
        message: 'Hello'
      },
      computed: {
        // 计算属性的 getter
        reversedMessage: function () {
          // `this` 指向 vm 实例
          return this.message.split('').reverse().join('')
        }
      }
    })
    

    未完

    相关文章

      网友评论

          本文标题:vue

          本文链接:https://www.haomeiwen.com/subject/ncntmxtx.html