欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Vue 的基本认识

程序员文章站 2022-04-12 10:50:11
...

1.1.1. 官网
1)英文官网: https://vuejs.org/

2)中文官网: https://cn.vuejs.org/

1.1.2. 介绍描述
1)渐进式 JavaScript 框架

2)作者: 尤雨溪(一位华裔前 Google 工程师)

3)作用: 动态构建用户界面

1.1.3. Vue 的特点
1)遵循 MVVM 模式

2)编码简洁, 体积小, 运行效率高, 适合移动/PC 端开发

3)它本身只关注 UI, 可以轻松引入 vue 插件或其它第三方库开发项目

1.1.4. 与其它前端 JS 框架的关联
1)借鉴 angular 的模板和数据绑定技术

2)借鉴 react 的组件化和虚拟 DOM 技术

1.1.5. Vue 扩展插件
1)vue-cli: vue 脚手架

2)vue-resource(axios): ajax 请求

3)vue-router: 路由

4)vuex: 状态管理

5)vue-lazyload: 图片懒加载

6)vue-scroller: 页面滑动相关

7)mint-ui: 基于 vue 的 UI 组件库(移动端)

8)element-ui: 基于 vue 的 UI 组件库(PC 端)

9)它本身只关注 UI, 可以轻松引入 vue 插件或其它第三方库开发项目

1.2. Vue 的基本使用
1.2.1. 编码

<div  id="app">
    <input  type="text"  v-model="username">
    <p>Hello,  {{username}}</p>
</div>

<script  type="text/javascript"  src="../js/vue.js"></script>
<script  type="text/javascript"> 
    new  Vue({
        el:  '#app', 
        data:  {
            username:  'vue'
        }
     })
</script>

1.2.2. 使用 vue 开发者工具调试
安装vue-devtools.crx(v_4.1.3)

1.2.3. 理解 Vue 的 MVVM

MVVM:
Model:模型,数据对象(data)
View:视图,模板页面
ViewModel:视图模型(Vue的实例)

1.3. 模板语法
1.3.1. 模板的理解
1)动态的 html 页面

2)包含了一些 JS 语法代码

a.双大括号表达式

b.指令(以 v-开头的自定义标签属性)

1.3.2. 双大括号表达式
1)语法: {{exp}}

2)功能: 向页面输出数据

3)可以调用对象的方法

1.3.3. 指令一: 强制数据绑定
1)功能: 指定变化的属性值

2)完整写法:

v-bind:xxx='yyy'    //yyy 会作为表达式解析执行

3)简洁写法:

:xxx='yyy'

1.3.4. 指令二: 绑定事件监听
1)功能: 绑定指定事件名的回调函数

2)完整写法:

v-on:keyup='xxx'
v-on:keyup='xxx(参数)' v-on:keyup.enter='xxx'

3)简洁写法:

@keyup='xxx' @keyup.enter='xxx'

1

<div id="app">
    <h2>1. 双大括号表达式</h2>
    <p>{{msg}}</p><!-- textContent -->
    <p>{{msg.toUpperCase()}}</p>
    <p v-text="msg"></p><!-- textContent -->
    <p v-html="msg"></p><!-- innerHTML -->

    <h2>2. 指令一: 强制数据绑定</h2>
    <!-- <img src="imgUrl" alt="大V"> -->
    <!-- <img v-bind:src="imgUrl" alt="大V"> -->
    <img :src="imgUrl" alt="大V">

        <h2>3. 指令二: 绑定事件监听</h2>
    <button v-on:click="test">test1</button>
    <!-- <button @click="test2('abc')">test2</button> -->
    <button @click="test2(msg)">test2</button>
</div>

<script type="text/javascript" src="js/vue.js"></script>
<script type="text/javascript">
new Vue({
    el: '#app',
    data: {
        // msg: 'I Will Back!'
        msg: '<a href="http://www.baidu.com">百度网</a>',
        imgUrl: 'https://cn.vuejs.org/images/logo.png'
    },
    methods: {
        test(){
            alert('hihi~~');
        },
        test2(content){
            alert(content);
        }
    }
})
</script>
</body>
</html>