vue-介绍

作者: 望月成三人 | 来源:发表于2019-05-04 10:48 被阅读9次

    说明

    • 此篇文章,主要说明的是vue的简单运行,不依赖node.js,更简单的学习使用vue的用法,因此本文所有代码只要一个浏览器即可运行

    本次学习关键字

    • message
      • 信息的展示
    • v-bind
      • 渲染的 DOM 上应用特殊的响应式行为
    • v-model
      • 它能轻松实现表单输入和应用状态之间的双向绑定
    • v-if
      • 条件
    • v-for
      • 循环
    • v-on
      • 事件监听
    • 组件化应用创建
      • 组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用。仔细想想,几乎任意类型的应用界面都可以抽象为一个组件树

    message关键字

    • html
    <!DOCTYPE html>
    <html lang="en">
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <div id="app">
        {{ message }}
    </div>
    </body>
    </html>
    
    • 在浏览器打开html,按f12,在Console中输入
    var app = new Vue({
      el: '#app',
      data: {
        message: 'Hello Vue!'
      }
    })
    
    • 在浏览器中,就能到结果为:


      image.png

    v-bind

    • html
    <div id="app-2">
      <span v-bind:title="message">
        鼠标悬停几秒钟查看此处动态绑定的提示信息!
      </span>
    </div>
    
    • 在浏览器打开html,按f12,在Console中输入
    var app2 = new Vue({
      el: '#app-2',
      data: {
        message: '页面加载于 ' + new Date().toLocaleString()
      }
    })
    
    • 在浏览器中,就能到结果为:


      image.png

    v-if

    • html
    <div id="app-3">
      <p v-if="seen">现在你看到我了</p>
    </div>
    
    • f12 console输入
    var app3 = new Vue({
      el: '#app-3',
      data: {
        seen: true
      }
    })
    
    image.png
    • 继续在控制台输入 app3.seen = false,你会发现之前显示的消息消失了。


      image.png

    v-for

    • html
    <div id="app-4">
        <ol>
            <li v-for="todo in todos">
                {{ todo.text }}
            </li>
        </ol>
    </div>
    
    • f12 console输入
    var app4 = new Vue({
      el: '#app-4',
      data: {
        todos: [
          { text: '学习 JavaScript' },
          { text: '学习 Vue' },
          { text: '整个牛项目' }
        ]
      }
    })
    
    image.png

    v-on

    • html
    <div id="app-5">
      <p>{{ message }}</p>
      <button v-on:click="reverseMessage">逆转消息</button>
    </div>
    
    • f12 console输入
    var app5 = new Vue({
      el: '#app-5',
      data: {
        message: 'Hello Vue.js!'
      },
      methods: {
        reverseMessage: function () {
          this.message = this.message.split('').reverse().join('')
        }
      }
    })
    
    image.png
    • 点击按钮
    image.png

    v-model

    • html
    <div id="app-6">
        <p>{{ message }}</p>
        <input v-model="message">
    </div>
    
    • f12 console输入
    var app6 = new Vue({
      el: '#app-6',
      data: {
        message: 'Hello Vue!'
      }
    })
    
    image.png

    组件化应用创建

    • html
    <div id="app-7">
        <ol>
            <!--
                现在我们为每个 todo-item 提供 todo 对象
                todo 对象是变量,即其内容可以是动态的。
                我们也需要为每个组件提供一个“key”,稍后再
                作详细解释。
            -->
            <todo-item
                    v-for="item in groceryList"
                    v-bind:todo="item"
                    v-bind:key="item.id"
            ></todo-item>
        </ol>
    </div>
    
    • f12 console输入
    Vue.component('todo-item', {
    // 自定义一个todo-item 组件现在接受一个
      // "prop",类似于一个自定义特性。
      // 这个 prop 名为 todo。
      props: ['todo'],
      template: '<li>{{ todo.text }}</li>'
    })
    
    var app7 = new Vue({
      el: '#app-7',
      data: {
        groceryList: [
          { id: 0, text: '蔬菜' },
          { id: 1, text: '奶酪' },
          { id: 2, text: '随便其它什么人吃的东西' }
        ]
      }
    })
    

    本文所有代码来自官网

    相关文章

      网友评论

        本文标题:vue-介绍

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