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