vue.js学习-day2

1.实现功能-video3

在这里插入图片描述

2.钩子函数-自定义指令:

对于前端来说,钩子函数就是指再所有函数执行前,我先执行了的函数,即 钩住 我感兴趣的函数,只要它执行,我就先执行。就是说抢先执行。
在这里插入图片描述

① v-focus:自定义 刚进入页面就自动对焦到方框【定义的是行为】
v-color:自定义 方框为红色样式【定义的是样式,可直接在bind中定义】

在这里插入图片描述

在这里插入图片描述

3.

v-color=“blue” ,此时的blue当成vue中的data变量
v-color=“‘blue’”,当成是字符串

4.vue的生命周期

在这里插入图片描述

5.jsonp

在这里插入图片描述

服务器端的node.js代码
在这里插入图片描述

利用19行,请求一个js脚本,相当于20-22行,然后解析show()的语句

存在一个问题:两边必须show()-show()名称一一对应,解决方法:把前端的函数名传过去

在这里插入图片描述

服务端:
在这里插入图片描述

顺带传其他数据;
服务器:
在这里插入图片描述

前端:
在这里插入图片描述

output:
在这里插入图片描述

6.懒加载

【 jQuery.lazyload 】

一、什么是图片滚动加载?

通俗的讲就是:当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1*1px图片的路径(这样就只需请求一次),只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。这就是图片懒加载。

二、为什要使用这个技术?

比如一个页面中有很多图片,如淘宝、京东首页等等,如果一上来就发送这么多请求,页面加载就会很漫长,如果js文件都放在了文档的底部,恰巧页面的头部又依赖这个js文件,那就不好办了。更为要命的是:一上来就发送百八十个请求,服务器可能就吃不消了(又不是只有一两个人在访问这个页面)。

因此优点就很明显了:不仅可以减轻服务器的压力,而且可以让加载好的页面更快地呈现在用户面前(用户体验好)。路由懒加载能够提高页面的加载速度,不过使用也得看场合。有时候需要懒加载,提升首页加载速度,一般是页面层级较为复杂的时候。大家看一下不加代码分割浏览器加载的文件。

【路由懒加载】

~ vue项目实现按需加载的3种方式:https://segmentfault.com/a/1190000011519350

路由懒加载能够提高页面的加载速度,不过使用也得看场合。有时候需要懒加载,提升首页加载速度,一般是页面层级较为复杂的时候。大家看一下不加代码分割浏览器加载的文件。
在这里插入图片描述

这里蓝色部分是webpack自动分割出来的,当修改业务js时候manifest和vendor是不会改变的,浏览器直接在缓存中提取。

会变的是app.js。如果不采用路由分割会是什么效果呢。所有的代码都打包到app.js中,如果项目巨大,那么首页加载会是灾难。

7.获取DOM元素

方法一:jQuery

 $(".form").html(str);

在页面加载jQuery核心文件之后,可以使用jQuery语法来编写Javascript
jQuery的语法相对容易,而且插件丰富,功能强大
$(" “) 用来选择表签,可以是
$(“span”) 直接选择
$(”#abc") 选择 ID 为 abc 的标签
$(".abc") 选择class 为 abc 的标签
html( ) 是函数 意思是把() 里的内容放到指定标签里

<script>
function ff()
{
var str = "456456";
$(".form").html(str);
}
</script>

方法二:vue $refs

<div id="app">
    <input type="text" ref="input1"/>
    <button @click="add">添加</button>
</div>
<script>
new Vue({
    el: "#app",
    methods:{
    add:function(){
        this.$refs.input1.value ="22"; //this.$refs.input1  减少获取dom节点的消耗
        }
    }
})
</script>

一般来讲,获取DOM元素,需document.querySelector(".input1")获取这个dom节点,然后在获取input1的值。但是用ref绑定之后,我们就不需要在获取dom节点了,直接在上面的input上绑定input1,然后 r e f s j a v a s c r i p t t h i s . refs里面调用就行。然后在javascript里面这样调用:this. refs.input1 这样就可以减少获取dom节点的消耗了

8.vue-resource

导入了vue-resource 地址就会自动在后面加上“#/”

猜你喜欢

转载自blog.csdn.net/qq_22703205/article/details/83029413