前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(19)打鸡儿教你Vue.js

(19)打鸡儿教你Vue.js

作者头像
达达前端
发布2019-07-04 11:11:04
4810
发布2019-07-04 11:11:04
举报
文章被收录于专栏:达达前端达达前端

了解vue2.x的核心技术

建立前端组件化的思想

常用的vue语法

vue-router,vuex,vue-cli

使用vue-cli工具

Vue框架常用知识点

vue核心技术

集成Vue

重点看,重点记

模板语法,条件渲染,列表渲染 vuex,vue-router

v-bind属性绑定,事件绑定 Class与Style绑定

workflow工作流 单页面 Cli工具登录环境

  1. vue常用模板语法
  2. 列表渲染、条件渲染
  3. Class与style绑定
  4. vue事件绑定与处理
  5. vue计算属性computed, watch
  6. vue-cli快速创建工程
  7. vue的组件思想,代码规范
  8. vue-router介绍
  9. 认识vuex,组件间的通信方式
  10. 前端调试方法,vue组件调试方法

image.png

image.png

代码语言:javascript
复制
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
代码语言:javascript
复制
or Wget:

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
代码语言:javascript
复制
export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

image.png

image.png

image.png

开发环境: ide,node.js,调式环境,工程环境

代码语言:javascript
复制
node --version

npm i -g vue-cli

vue --version

环境: ide: webstrom,vscode

npm: vue-cli,webpack,cnpm,nvm

Chrome: Vue调式插件

Vue: 声明式渲染 条件渲染 列表 事件

热部署:gulp,webpack

认识样式:sass,postcss

模板语法 计算属性 Class,Style绑定 条件渲染 列表渲染 事件处理 表单输入绑定

组件基础,生命周期,模块化的思想

组件: 组件通信方式:props,$parentemit eventVuex

动画,vue-router, Vue-resource

常用api: vue-use props dom

部署,服务器端渲染,打包编译

vue,基础概念,组件,api,部署

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
hello world!!
</body>
</html>

BootCDN 稳定、快速、免费的前端开源项目 CDN 加速服务

Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合

image.png

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .bg {
            color: red;
        }
    </style>
    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
</head>
<body>
<div class="bg">
    hello world!!
    {{msg}}
</div>
<script>
    new Vue({
        el: '.bg',
        data: {
            msg: 'hello vue!'
        }
    })
</script>
</body>
</html>
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .bg {
            color: red;
        }
    </style>
    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
</head>
<body>
<div class="bg" id="app">
    hello world!!
    {{msg}}
</div>
<script>
    new Vue({
        el: '#app',
        data: {
            msg: 'hello vue!'
        }
    })
</script>
</body>
</html>

vue.js cdn使用

模板语法

vue的文件结构: template script style

模板语法包含插值,指令

代码语言:javascript
复制
// 错
{{template}}
<script>
 new Vue({
  el: '#app',
  data: {
   msg: 'hello vue!!',
   count: 0,
   template: '<div>hello template</div>'
  }
})
</script>
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .bg {
            color: red;
        }
    </style>
    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
</head>
<body>
<div class="bg" id="app">
    hello world!!
    {{msg}}
    <div v-html="template"></div>
</div>

<script>
    new Vue({
        el: '#app',
        data: {
            msg: 'hello vue!',
            template: '<div>hello dashucoding</div>'
        }
    })
</script>
</body>
</html>
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .bg {
            color: red;
        }
    </style>
    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
</head>
<body>
<div class="bg" id="app" v-bind:id="bg1">
    hello world!!
    {{msg}}
    {{count}}
    <div v-html="template"></div>
    <a v-bind:href="url">百度</a>
    <a :href="url">百度</a>
    <button type="button" v-on:click="submit()">加</button>
    <button type="button" @click="submit()">加</button>
</div>

<script>
    new Vue({
        el: '#app',
        data: {
            bg1: 'app-bind',
            msg: 'hello vue!',
            template: '<div>hello dashucoding</div>',
            url: 'http://www.baidu.com',
            count: 0
        },
        methods: {
            submit: function() {
                this.count++
            }
        }
    })
</script>
</body>
</html>

vue文件结构 插值语法{{msg}} 数据 js表达式 指令

代码语言:javascript
复制
@click
v-if
:href

计算属性与侦听器

计算属性:computed

侦听器:watch

使用场景:

image.png

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>

</head>
<body>
<div id="app">
    {{msg}}
    <p>{{msg1}}</p>
</div>
<script>
    var arr = 'da'
    var app = new Vue({
        el: '#app',
        data: {
            msg: 'Hello Vue!',
            another: 'another hello'
        },
        // 监听
        watch: {
            msg: function (newval, oldval) {
                console.log('newval is:'+newval)
                console.log('oldval is:'+oldval)
            }
        },
        computed: {
            msg1: function () {
                return 'computed:' + this.msg + "," + this.another + arr
            }
        }
    })
</script>
</body>
</html>

arr改变时不会变化,只有msg1里面的内容改变才会发生变化

watch异步场景,computed数据联动

条件渲染,列表渲染,Class与Style绑定

条件渲染:

代码语言:javascript
复制
v-fi
v-else
v-else-if

v-show

列表渲染:

代码语言:javascript
复制
v-for
代码语言:javascript
复制
<div id="app">
 <div v-if="count>0">
 </div>
 <div v-else>
 </div>
</div>
代码语言:javascript
复制
<div v-for="item in list">{{item}}</div>
<div v-for="item in list">{{item.name}}</div>

<script>
new Vue({
 el: '#app',
 data: {
 list: [{
 name:
 age
 },{
 }]
}
})
代码语言:javascript
复制
v-bind:style="{ 'color': 'red' }"

v-bind:style="styleMsg"
:class="{ 'active': ture }"
:style="styleMsg"

data: {
 style: {
 colord: red
 },
 
 styleMsg: {
  color: 'red',
  textShadow: '0 0 5px green'
 }
}
代码语言:javascript
复制
<div v-show=""
:class="[ 'active', 'add', 'more', { 'another' : ture } ]"
:style="styleMsg">

工程化,页面代码规范,调式vue

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.07.03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 模板语法
  • 计算属性与侦听器
  • 条件渲染,列表渲染,Class与Style绑定
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档