1、js,jQuery编程范式:命令式编程

 vue编程范式:声明式编程

 v-for   遍历数组内容

 v-on: click   监听点击事件,语法糖 @click

  • el:

  类型:string | HTMLElement

  作用:决定之后 Vue 实例会管理哪一个 DOM。

  • data:

  类型:Object | Function(组件当中data必须是一个函数)

  作用:Vue实例对应的数据对象

  • methods

  类型:{ [ key : string ]:Function }

  作用:定义属于Vue的一些方法,可以在其他地方调用,也可以在指令中使用。

   <div id="app">
      <h2>当前数量:{{ val }}</h2>
      <ul>
        <li v-for="val in project">{{ val }}</li>
      </ul>
      <button v-on:click="add">+</button>
      <button @click="down">-</button>
    </div>
    <script>
      const app = new Vue({
        el: "div",  // 用于挂载要管理的元素
        data: {     // 定义数据
          val: 0,
          project: ["数学", "语文", "英语"]
        },
        methods: {  //定义方法
          add: function() {
            this.val++;
            console.log("add被点击了");
          },
          down: function() {
            this.val--;
            console.log("down被点击了");
          }
        }
      });
    </script>

2、vue中的MVVM:

3、开发中什么时候称为函数,什么时候称为方法?

  函数:function

   直接在script 标签中定义的 function fn(){}

  方法:method

   在类里面的东西一般叫方法,方法一般是和实例对象挂钩的

4、Vue 的指令(主要作用:将值插入到模板内容中)

 1.mustache语法(双大括号{{ }})

<h2>{{message}}</h2>
<h2>{{message}},自定义内容</h2>
<!--mustache语法中,不仅仅可以直接写变量,也可以写简单的表达式-->
<h2>{{firstName+ lastName}}</h2>  // 连接两个变量
<h2>{{firstName+ ' ' + lastName}}</h2> // 连接两个变量,中间加空格
<h2>{{firstName}} {{lastName}}</h2> //连接两个变量,中间含空格
<h2>{{num * 2}}</h2>  //计算变量
<h2>{{message}}</h2>

 2. v-once:阻止界面内容随意更改

  该指令后面不需要跟任何表达式

  该指令表示元素和组件只渲染一次,不会随数据的改变而改变。

<h2>{{mes}}</div>
<h2 v-once>{{mes}}</div>  //consolle控制台中更改mes的值,加了v-once中的内容不会被更改  

 3. v-html:解决从服务器请求的数据本身是 HTML 代码的问题

  该指令后面往往会跟上一个 string 类型

  会将 string 的html 解析出来并进行渲染

1.如果直接通过{{}}来输出,会将HTML代码一起输入
<h2>{{url}}</h2> // <a href='http://www.baidu.com'>百度链接</a>

2.如果想按照HTML格式进行解析,并且显示对应内容 则在标签中加入 v-html 指令
<h2 v-html='url'>{{url}}</h2>  // 百度链接

url: "<a href='http://www.baidu.com'>百度链接</a>",

 4.v-text:和{{ }}(Mustache)相似,都是用于将数据显示在界面中

  v-text通常情况下,接受一个string类型,不灵活,会覆盖原有的值,不建议使用

<h2>{{message}},自定义值...</h2>  // 新插入数值,自定义值...
<h2  v-text='message'>自定义值...</h2>  // 新插入数值(会覆盖原有的值)
message:'新插入数值'

 5. v-pre:用于显示原本的 Mustache 语法(类似于html标签pre)

<h2>{{message}}</h2>  // andy
<h2 v-pre>{{message}}</h2>  //{{message}}
message:'andy'

 6.v-cloak:浏览器会直接显示出未编译的Mustache标签,(类似于斗篷)。

  在data 数据没解析之前显示出来,data数据解析之后删除掉

<style>
    div{
        display:none;
    }
</style>
<div id="app">{{message}}</div>  //如果函数加载慢,页面中直接显示{{message}},用户体验不太好,可以使用v-cloak属性设置,没加载出来时显示v-cloak属性,函数加载出来后删除v-cloak属性。
<script>
    const  app = new Vue({
        el:'#app',
        data:{
            message:'自定义...'
        }
    });
</script>

5、V-bind 介绍(动态绑定属性)

  • 动态绑定 a 元素的 href 属性
  • 动态绑定 img 元素的 src 属性

 1. v-bind 指令

  作用:动态绑定属性

  缩写: :

  预期: any(with argument)  | Object(without  argument)

  参数:attrOrProP(optional)

<a  v-bind:href='aHref'>百度</a>
语法糖写法:
<img  :src='imgURL' />

aHref:'http://www.baidu.com',
imgURL:'../img/03.png'

 2. v-bind 动态绑定class值(两种方式:对象语法 和 数组语法)

 方式一:(对象语法:class后面跟一个对象)

 语法:

用法一:直接通过{}绑定一个类
<h2  :class='{active:isActive}'>Hello World</h2>

用法二:也可以通过判断,传入多个值
<h2  :class='{'active':isActive,'line':isLine}'>Hello World</h2>

用法三:和普通的类同时存在,并不冲突
注:如果isActive 和 isLine都为true,那么会有title/active/line三个类
<h2  class='title'  :class='{active:isActive,'line':isLine}'>Hello World</h2>

用法四:如果过于复杂,可以放在一个methods或者computed(计算属性)中
method方法:
<h2  class='title'  :class='{active:"getClass()"}'>Hello World</h2>
getClass:function(){
  return {active:this.isActive,line:this.isLine};
}

总结:
<h2  class='tit'  :class='{key1:value1,key2:value2}'>{{message}}</h2>  //固定的class 写法:class='',有可能删除的class写法:v-bind:class=''
key:类名
value:boolean值    true,显示  false 不显示

点击按钮实现给字体设置或取消颜色

<syle>
.red {
    color: red;
 }
</style>

<h2 id='app' v-bind:class="{red:flag}">当前数量:{{ val }}</h2>
<button v-on:click="color">设置h2字体颜色</button>

<script>
const app = new Vue({
   el: "#app",
   data: {    // 定义数据     flag: false
   },
   methods:{
     color() {
        this.flag = !this.flag;
     }
   }
});
</script>

 方式二:数组语法:class后面跟的是数组

用法一:直接通过{}绑定一个类
<h2  :class='["active"]'>Hello World</h2>

用法二:也可以传入多个值
<h2  :class='["active","line"]'>Hello World</h2>

用法三:和普通的类同时存在,并不冲突
注:会有title/active/line三个类
<h2  class='title'  :class='["active","line"]'>Hello World</h2>

用法四:如果过于复杂,可以放在一个methods或者computed(计算属性)中
method方法:
<h2  class='title'  :class='{active:"getClass()"}'>Hello World</h2>
getClass:function(){
  return [this.active,this.line];
}

总结:
   []中属性加引号(""):代表是字符串  // class类名
   []中属性不加 引号(""):代表是变量  

初始 vue的更多相关文章

  1. 初始Vue、Vue模板语法、数据绑定(2022/7/3)

    文章目录 1.Vue简介 1.1.Vue的安装使用 1.2.实际的运用案例 1.3.vue开发工具的使用(这个需要在浏览器中安装) 2.初始Vue 2.1 .基础知识 2.1 .代码实例 2.2 .页 ...

  2. 初始Vue

    渐进式 JavaScript 框架 通过对框架的了解与运用程度,来决定其在整个项目中的应用范围,最终可以独立以框架方式完成整个web前端项目 走进Vue what -- 什么是Vue 可以独立完成前后 ...

  3. 一天带你入门到放弃vue.js(一)

    写在前面的话! 每个新的框架入手都会进行一些列的扯犊子!这里不多说那么多!简简单单说一下vue吧! Vue.js是目前三大框架(angular,vue,react)之一,是渐进式js框架,据说是摒弃了 ...

  4. Vue小案例 之 商品管理------创建页面与部分数据

    logo的路径: 页面的初始布局: 初始的HTML: <div id="container"> <!--logo title--> <div clas ...

  5. vue.js实战(文摘)

    ---------------第1篇 基础篇 第1章 初始vue.js 第2章 数据绑定和第一个vue应用 第3章 计算属性 第4章 v-bind及class与style绑定 第5章 内置命令 第6章 ...

  6. 前端框架-Vue 入门

    一.介绍 1.Vue.js 是什么 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架. Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合. ...

  7. 一个后端开发的 Vue 笔记【入门级】

    一 前言 最近找了些教程,顺带着趴在官网上,看了看 Vue 的一些内容,入门的一些概念,以及基础语法,还有一些常用的操作,瞄了一眼,通篇文字+贴了部分代码 9000 多字,入门语法什么的还是很好理解的 ...

  8. vue-cli3.0 搭建项目

    1.首先我们先在安装好node   node用于npm安装[自行百度] 2.全局安装vue 通过npm命令安装vue.js 在用vue.js在用于构建大型的应用时推荐使用npm安装,npm能很好的和w ...

  9. 封装一个基础的vue-router

    前言主要知识点: 路由原理 Hash与History 实现路由 一.一个vue路由的工作原理前端路由与后端路由的区别: 后端路由:输入url>请求发送到服务器>服务器解析请求的路径> ...

随机推荐

  1. 天启android5.1系统无法在非1650批次号的rk3288w芯片上启动

    天启android5.1系统无法在非1650批次号的rk3288w芯片上启动 挂掉log,说明在rtc初始化后挂掉 [ ) HIGH! ======== [ [ [ 1.420258] [WLAN_R ...

  2. 06.Linux-RedHat系统网卡服务连不上活跃连接路径变化

    问题:在新装的系统中,重启网卡的时候出现如下报错 [root@localhost ~]# service network restart 正在关闭接口 eth0: 设备状态:3 (断开连接) [确定] ...

  3. MySQL--15 MHA简介

    目录 一.MHA简介 二.工作流程 三.MHA架构图 四.MHA工具介绍 五.基于GTID的主从复制 六.部署MHA 一.MHA简介 松信嘉範: MySQL/Linux专家 2001年索尼公司入职 ...

  4. C Primer Plus 学习 第三章

    这里只记录我自己以前不懂得地方,明白的地方就略过了 位  字节  字 位    0,1 字节  8位  也就有8位0,1的组合   2的8次方的组合 字      设计计算机时给定的自然存储单元.8位 ...

  5. ansible笔记(三)--模块讲解

    ansible 常用命令 ansible-doc ansible-playbook ansible-vault ansible-console ansible-galaxy ansible-pull ...

  6. MongoDB 存储引擎选择

    MongoDB存储引擎选择 MongoDB存储引擎构架 插件式存储引擎, MongoDB 3.0引入了插件式存储引擎API,为第三方的存储引擎厂商加入MongoDB提供了方便,这一变化无疑参考了MyS ...

  7. linux firewall

    一.查看防火墙状态1.首先查看防火墙是否开启,如未开启,需要先开启防火墙并作开机自启 systemctl status firewalld 开启防火墙并设置开机自启 systemctl start f ...

  8. mysql 生成max+1编号

    #sql info表插入一条数据,number字段根据info表最大number+1插入,若为初始插入,number为100000#在获取本表number最大值时,mysql不允许直接查询本表获取最大 ...

  9. oracle常用sql汇总(随时更新)

    1.wm_concat:将返回的多行数据汇总为一列,用,分割,数据类型默认为CLOB类型 2. 递归查询(树状结构数据查询,如菜单,部门等等) SELECT [LEVEL],* FEOM table_ ...

  10. controllerweb.xml

    <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://w ...