初识vue

Vue 简介

Vue 是一套用来动态构建用户界面的渐进式JavaScript框架

构建用户界面:把数据通过某种办法变成用户界面

渐进式:Vue可以自底向上逐层的应用,简单应用只需要一个轻量小巧的核心库,复杂应用可以引入各式各样的Vue插件

Vue 的特点

  • 遵循MVVM模式
  • 编码简洁,体积小,运行效率高,适合移动/PC端开发
  • 它本身只关注 UI,可以引入其它第三方库开发项目
  • 采用组件化模式,提高代码复用率、且让代码更好维护
  • 声明式编码,让编码人员无需直接操作DOM,提高开发效率

初识Vue

  • 想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象

vue启动时出现的提示,Vue.config.productionTip可以阻止启动提示
Vue.config.productionTip = false;

我们创建容器需要绑定id值
注:搭建脚手架(vue-cli)后只能出现一个容器
{{值}} 插值

  <div id="app">
        <!-- {{}}  插值-->
        {{message}}
    </div>
  var vm = new Vue({
        // 1.data:{}对象式
        // 2.data(){return{}}函数式
        // 注:不要使用箭头函数,搭建脚手架(vue-cli)后,必须使用函数式
        // data:{
        //     abc:"我是王五"
        // },
        // data:function(){
        //     return{
        //         abc:"我是赵六,今天学习vue"
        //     }
        // },
        data() {
            return {
                abc:"我是赵六",
                num:"https://v2.cn.vuejs.org/v2/guide/instance.html"
            }
        },
    })
    vm.$mount("#ips");
    // 创建一个新的实例化Vue
    var vms = new Vue({
        // el绑定创建的容器
        el:".box",
        // data用于定义变量的集合,通常与插值提供
        data:{
            aaa:"第一天学习Vue,class",
            a:"我是张三",
            b:"我今天学习vue",
            c:10,
            d:20,
            e:[1,2,3],
            f:[4,5,6],
            func(a){
                return a;
            }
        }
    })
    var app = new Vue({
        // el绑定创建的容器
        el:"#app",
        data:{
            message:"Hello Word"
        }
    })

methods存放函数方法
// 注:尽量不要使用箭头函数,否则拿取不到data的数据
// 注:函数名称不要与变量名称一致

  methods: {
            btns(user){
                if(user==1){
                    this.cla = "box1";
                }else{
                    this.cla = "box2";
                }
            },
            // 点击这个访问百度
            func(){
                console.log(11111111);
            },
            // 点击这个访问vue官网
            func2:function(){
                console.log(222222222);
            },
            func3(user){
                console.log(this);
                console.log(this.userName);
                 },
                      },
    })
    vm.$mount("#app");

模板语法

Vue模板语法包括两大类
1
插值语法
功能:用于解析标签体内容
写法:{{xxx}},xxx 是 js 表达式,可以直接读取到 data 中的所有区域
2
指令语法

**功能:**用于解析标签(包括:标签属性、标签体内容、绑定事件…)
举例:或简写为,xxx 同样要写 js 表达式,可以直接读取到 data 中的所有属性
备注:Vue中有很多的指令,且形式都是 v-xxx,此处只是拿v-bind举例

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>模板语法</title>
    <!-- 引入Vue -->
    <script type="text/javascript" src="../js/vue.js"></script>
  </head>
  <body>

    <div id="root">
      <h2>插值语法</h2>
      <h4>你好,{{ name }}</h4>
      <hr />
      <h2>指令语法</h2>
      <a v-bind:href="tencent.url.toUpperCase()" x="hello">点我去看{{ tencent.name }}1</a>
      <a :href="tencent.url" x="hello">点我去看{{ tencent.name }}2</a>
    </div>
  </body>

  <script type="text/javascript">
    Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。

    new Vue({
      el: '#root',
      data: {
        name: 'jack',
        tencent: {
          name: '开端',
          url: 'https://v.qq.com/x/cover/mzc00200mp8vo9b/n0041aa087e.html',
        }
      }
    })
  </script>
</html>

-绑定事件 v-on: == @ v-on:事件类型 事件类型一定不要加on

  • v-for 遍历数组,对象,字符串,指定次数

  • v-if 做判断,隐藏(是否存在)

  • v-show 隐藏(是否展示) 默认隐藏

  • v-bind:或:绑定属性名,单向数据绑定

  • v-bind:单向数据绑定:只能由data中的数据流向页面
    v-model双向数据绑定:可以由data中的数据流向页面,也可以由页面(用户输入)流向data

  • v-if判断和v-show 显示隐藏

  • v-else和v-else-if判断
    使用v-else,v-else-if前必须有v-if

  • v-text和v-html,插值区别
    .v-text和v-html相同点:都会覆盖文本
    不同点:v-text只读取文本,v-html读取标签

  • 插值添加值:
    注:不要在用提交时使用v-html,不要在动态渲染时时使用v-html

    区别:对于元素只是一次可以选择使用v-if(消耗内存),操作次数多v-show(并没有销毁元素)
    1.在vue2中,v-for优先级比v-if高
    在vue3中,v-if优先级比v-for高
    2. v-if和v-for不能同时使用
    3、同时使用需要在外层嵌套盒子,在外层进行v-if判断,在内层进行v-for循环

    **不要设置值的指令**
    
  • v-else,v-cloak,v-once,v-pre -->

  • v-once设置了以后,更改值不会发生改变,优化性能

  • v-pre设置了以后,会让插值和指令失效

1

解决屏幕闪烁的问题,第一在标签上添加v-cloak,第二需要css设置上面样式


[v-cloak]{
            display: none;
        }
        /* 解决屏幕闪烁的问题,第一在标签上添加v-cloak,第二需要设置上面样式 */
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值