Vue.js学习日志

1.MVC和MVVC的关系图解

Vue.js学习日志_第1张图片mvc是后端的开发模式,分别代表着m(model层):职能单一,负责数据的操作,执行对应的sql语句,以及进行数据的增删改查
v (view视图层):项目的入口模块,一切的请求,都要先进入这里进行处理
c (controller层):这是一个业务逻辑层,在这个模块中,封装了一些具体的业务逻辑代码,但是也是为了保证职能的单一,次模块只负责处理业务,不负责处理数据的增删改查,所有涉及数据的操作的都需要调用model层

mvvm是前端视图层的分层开发思想。主要把每个页面分成了m,v和vm。其中vm是mvvm思想的核心:因为vm是m和v之间的调度者。

2.v-cloak,v-text,v-html

这三个使用的频率不高,不做过多的赘述。

3.v-bind, v-on

  1. 导入vue的包,当我们导入包后,在浏览器的内存中就多了一个vue的构造函数
  2. el :'#名字' 表示当前new的vue实例控制着页面上的哪个区域
  3. data{} data中存放着el中所要使用到的数据
  4. 注意: new出来的vue实例就是我们前面所说的中间调度者vm
  5. v-bind是vue中负责绑定数据属性的指令
    Vue.js学习日志_第2张图片
  6. v-bind可以被简写v-bind :title="mytitle"可以被简写为:title="mytitle"
  7. v-on, vue所提供的时间绑定机制,此处涉及到methods指令,methods属性提供了当前vue所有可以使用的方法,具体代码如下
    v-on的缩写 @
methods:{
show:function(){
alter('HELLO')
}

}
  1. mouseover 指令,实现当鼠标悬停可以触发事件
  2. 在vm实例中,如果想要调用实例中data的数据 或者想要调用data中methods中的方法,必须使用this.数据属性名或者 this.方法名来访问,这里的this就是vm实例

4.事件修饰符

  • .stop 阻止冒泡
  • .prevent 阻止默认事件
  • .capture 添加事件侦听器时使用事件捕获
  • .self 当事件在该元素本身触发时出发回调
  • .once 事件只触发一次

5.事件的双向绑定

v-bind只能实现数据的单向绑定,而v-model可以实现数据的双向绑定,即在v-bind的绑定下,v(视图)中的数据被m(模型)所单向绑定,当v中的数据发生变动时,m中的数据不会改变。而v-model中的情况正好相反,当v中数据发生改变时,m中的数据也会改变。

6.vue通过属性绑定为元素设置class类样式

在为class使用v-bind绑定对象的时候,对象的属性命是类命,属性的值是一个标识符。

7.vue通过属性绑定为元素设置style类样式

  • 对象就是无序键值对的集合

8.v-for和v-if

9.根据关键字实现数组的过滤

  • contains方法的使用

10.vue全局过滤器的使用

  • 过滤器调用时候的格式 {{name | 过滤器的名字}}
  • 过滤器的定义语法 vue.filter(‘过滤器的名字’,function(){})

11.JS中$含义及用法

$在js中的意义

12.JS中$含义及用法

在 J S 中 本 身 只 是 一 个 符 号 而 异 , 在 J S 里 什 么 也 不 是 。 但 在 J S 应 用 库 J Q U E R Y 的 作 者 将 之 做 为 一 个 自 定 义 函 数 名 了 , 这 个 函 数 是 获 取 指 定 网 页 元 素 的 函 数 , 使 用 非 常 之 频 繁 , 所 以 好 多 新 手 不 知 道 , 还 以 为 在JS中本身只是一个符号而异,在JS里什么也不是。 但在JS应用库JQUERY的作者将之做为一个自定义函数名了,这个函数是获取指定网页元素的函数,使用非常之频繁,所以好多新手不知道,还以为 JSJSJSJQUERY使是JS的什么特殊语法。
后来,可能有些程序员JQUERY用得多了,发现 这 个 函 数 很 好 用 , 很 方 便 , 所 以 , 在 不 用 J Q U E R Y 的 情 况 , 一 般 自 己 也 会 自 定 义 一 个 这个函数很好用,很方便,所以,在不用JQUERY的情况,一般自己也会自定义一个 便JQUERY函数。
即:
function ( N i d ) r e t u r n d o c u m e n t . g e t E l e m e n t B y I d ( N i d ) ; 就 这 么 简 单 ( 在 J S Q U E R Y 里 可 能 稍 微 功 能 再 强 大 一 点 , 但 主 要 还 是 我 写 的 这 个 功 能 。 ) 以 后 在 网 页 就 不 用 每 次 使 用 d o c u m e n t . g e t E l e m e n t B y I d ( " I D 名 " ) 来 获 取 元 素 , 只 用 (Nid){ return document.getElementById(Nid); } 就这么简单(在JSQUERY里可能稍微功能再强大一点,但主要还是我写的这个功能。) 以后在网页就不用每次使用document.getElementById("ID名")来获取元素,只用 (Nid)returndocument.getElementById(Nid);(JSQUERY)使document.getElementById("ID")(‘ID名’)即可,非常简使了。

三种具体用法:
1、 ( ) 可 以 是 ()可以是 ()(expresion),即css选择器、Xpath或html元素,也就是通过上述表达式来匹配目标元素。
比如:$(“a”)构造的这个对象,是用CSS选择器构建了一个jQuery对象——它选择了所有的这个标签。如:
( " a " ) . c l i c k ( f u n c t i o n ( ) . . . ) 就 是 在 点 击 页 面 上 的 任 何 一 个 链 接 时 的 触 发 事 件 。 确 切 地 说 , 就 是 j Q u e r y 用 < a / > 这 个 标 签 构 建 了 一 个 对 象 ("a").click(function(){...}) 就是在点击页面上的任何一个链接时的触发事件。确切地说,就是jQuery用这个标签构建了一个对象 ("a").click(function()...)jQuery<a/>(“a”),函数 click()是这个jQuery对象的一个(事件)方法。

比如有这样一段HTML代码:

one

two

three

jQuery 而操作这段HTML的是如下一条语句: alert($("div>p").html()); $()中的是一个查询表达式,也就是用“div>p”这样一个查询表达式构建了一个jQuery对象,然后的“html()”意思是显示其html内容,也就是上面HTML代码段的[two]。再如: $("

Hello

").appendTo("body"); $()中的是一个字符串,用这样一段字串构建了jQuery对象,然后向中添加这一字串。

2、 ( ) 可 以 是 ()可以是 ()(element),即一个特定的DOM元素。如常用的DOM对象有document、location、form等。如这样一行代码:
$(document).find(“div>p”).html());
( ) 中 的 d o c u m e n t 是 一 个 D O M 元 素 , 即 在 全 文 寻 找 带 < p > 的 < d i v > 元 素 , 并 显 示 < p > 中 的 内 容 。 3 、 ()中的document是一个DOM元素,即在全文寻找带

元素,并显示

中的内容。 3、 ()documentDOM<p><div><p>3()可以是 ( f u n c t i o n ) , 即 一 个 函 数 , 它 是 (function),即一个函数,它是 (function)(document).ready()的一个速记方式。如常见的形式是这样的:
$(document).ready(function(){
alert(“Hello world!”);
});
可变形作:
( f u n c t i o n ( ) a l e r t ( " H e l l o w o r l d ! " ) ; ) ; 对 于 选 择 H T M L 文 档 中 的 e l e m e n t s , j Q u e r y 有 两 种 方 法 : 1 ) 如 (function(){ alert("Hello world!"); }); 对于选择HTML文档中的elements,jQuery有两种方法: 1)如 (function()alert("Helloworld!"););HTMLelementsjQuery1(“div>ul a”),它的意思是div标签中的ul标签中的a标签
不过, ( ′ d i v > u l ′ ) 和 ('div>ul')和 (div>ul)(‘div ul’)是有区别的,

( ′ d i v > u l ′ ) 是 < d i v > 的 直 接 后 代 里 找 < u l > ; 而 ('div>ul')是

的直接后代里找

你可能感兴趣的:(Vue.js学习日志)