Vue 的基本认识

2018-09-27  本文已影响0人  咻咻咻滴赵大妞

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>
上一篇下一篇

猜你喜欢

热点阅读