美文网首页
Vue | 语法学习起步

Vue | 语法学习起步

作者: 冯文议 | 来源:发表于2018-06-17 02:36 被阅读21次

Hello Vue

1、引入 Vue.js

<!-- 开发环境版本,包含了用帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

2、编写如下代码

<div id="app">
    {{message}}
</div>

<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            message: 'Hello Vue!'
        }
    })
</script>

这样你就能看到如下字样

Hello Vue!

语法

取值

Vue.js为我们提供了三种取值方式: {{}}v-textv-html 。如下示例:

<div id="app">
    <div>{{message}}</div>
    <div v-text="message"></div>
    <div v-html="message"></div>
    <div v-text="htmlValue"></div>
    <div v-html="htmlValue"></div>
</div>

<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            message: 'Hello Vue!',
            htmlValue: '<h3>我是h3标签</h3>'
        }
    })
</script>

效果

Vue 取值

点击事件

v-on:click 表示点击事件,另外我们也可以简写成 @click。我们来看例子:

<div id="app">
    <button v-on:click="onClickAlert">
        点击弹窗提示
    </button>
    <button @click="onClickChangeText">
        {{exampleChangeText}}
    </button>
</div>

<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            exampleChangeText: '点击更换文字'
        },
        methods: {
            onClickAlert: function() {
                alert('Hello 你好!From Alert')
            },
            onClickChangeText: function() {
                this.exampleChangeText = '文字已更换,你还好吗?'
            }
        }
    })
</script>

效果:

Vue 点击 Vue 点击 2 Vue 点击 3

双向绑定

Vue 提供了 v-model 指令,它能轻松实现表单输入和应用状态之间的双向绑定。

<div id="app">
    <input v-model="text">
    <div>{{text}}</div>
</div>

<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            text: ''
        }
    })
</script>

效果

Vue 双向绑定

属性

v-bind 指令可以绑定属性,简写为 :

<div id="app">
    <input v-bind:title="tip">
    <input v-bind:title="'js' + tip">
    <input :title="tip">
</div>

<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            tip: '请在此输入你要查询的内容'
        }
    })
</script>

效果:

Vue 属性 1 Vue 属性 2

这里要说明的是,v-bind中是可以直接写 js 代码的。

监听

<div id="app">
    姓:<input v-model="firstName"> 名:<input v-model="lastName">
    <div>姓名:{{fullName}}</div>
    <div>长度:{{count}}</div>
</div>

<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            firstName: '',
            lastName: '',
            count: 0
        },
        computed: {
            fullName: function() {
                return this.firstName + ' ' + 
                       this.lastName
            }
        },
        watch: {
            fullName: function() {
                this.count = this.fullName.length - 1
            }
        }
    })
</script>

效果:

Vue 监听

if

你可以用 v-ifv-else 和 'v-else-if'

<div id="app">
    <h1 v-if="ok">Yes</h1>
    
    <div v-if="Math.random() > 0.5">
      Now you see me
    </div>
    <div v-else>
      Now you don't
    </div>

    <div v-if="type === 'A'">
      A
    </div>
    <div v-else-if="type === 'B'">
      B
    </div>
    <div v-else-if="type === 'C'">
      C
    </div>
    <div v-else>
      Not A/B/C
    </div>
</div>

<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            ok: true,
            type: 'D'
        }
    })
</script>

效果:

Vue if

for

列表,可以通过 v-for 来进行循环

<div id="app">
    <ul>
        <li v-for="(item, index) in array" :key="index">
            {{item}}
        </li>
    </ul>
</div>

<script type="text/javascript">
    var app = new Vue({
        el: '#app',
        data: {
            array: ['张三', '李四', '王五']
        }
    })
</script>
Vue for

组件

定义一个 Vue 组件

Vue.component('button-counter', {
    data: function() {
        return {
            count: 0
        }
    },
    template: '<button v-on:click="count++">You clicked me {{count}}</button>'
})

使用这个组件

<div id="components-demo">
    <button-counter></button-counter>
</div>
var app = new Vue({
    el: '#components-demo'
})

效果

Vue 组件

相关文章

  • Vue | 语法学习起步

    Hello Vue 1、引入 Vue.js 2、编写如下代码 这样你就能看到如下字样 Hello Vue! 语法 ...

  • Vue.js起步

    Vue.js 起步 每个 Vue 应用都需要通过实例化 Vue 来实现。 语法格式如下: var app = ne...

  • Vue

    Vue基础 起步 Vue采用的是MVVM的思想 官方教程 创建Vue对象 使用Vue语法时需要先创建一个Vue对象...

  • 第1章 Vue的 课程介绍

    更多 下一篇:第2章 Vue起步全篇文章:Vue学习总结所有章节目录:Vue学习目录

  • 手把手教你Vue从零撸一个迷你版MVVM框架

    这段时间 在工作之余的休息时间,学习了解Vue ,学习Vue的设计思想,通过Vue官网学习Vue的语法,通过Vue...

  • vue-cli 起步配置步骤

    Vue-Cli 是 vue 专用起步工具,用 Vue-Cli 起步能够:① 项目直接安装了Vue、Vue-Rout...

  • Vue.js基础入门

    今天,给大家分享下Vue.js基础入门,我主要由了解Vue.js、开始起步、语法三个部分简单的写了基础入门知识,希...

  • Vue.js基础入门

    今天,给大家分享下Vue.js基础入门,我主要由了解Vue.js、开始起步、语法三个部分简单的写了基础入门知识,希...

  • 标准前端化工程 Vue-cli

    知识回顾 在学习Vue-cli之前,我们已经学习了前端体系、前后端分离的演变、Vue入门、Vue的基本语法、Vue...

  • Vue学习 Vue SSR + Vuex

    github 项目地址 预览 说明 vue学习整理 未严格按照Vue风格指南 旨在学习与交流vue语法以及基本入门...

网友评论

      本文标题:Vue | 语法学习起步

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