Vue1.0常用语法

简介: var vm = new Vue({   el: "选择器", 挂载到页面的那个元素里,即确定vue的作用范围 外部可通过vm.$el访问,得到的是一个原生dom元素,可进行对应操作   a: '', //自定义属性 外部可通过vm.$options访问   data: {
var vm = new Vue({

  el: "选择器",  挂载到页面的那个元素里,即确定vue的作用范围  外部可通过vm.$el访问,得到的是一个原生dom元素,可进行对应操作

  a: '',  //自定义属性  外部可通过vm.$options访问

  data: { }, //实例属性都在这里面,外部通过实例名,即vm.$data调用

  computed: { }, //计算属性,也是实例属性,只是以方法的形式存在,并可以有逻辑运算的属性

  method: { }, //实例方法都在这里

  watch: { }, //对data和computed的属性进行监听,当属性有变化时自动触发,以方法的形式存在 外部通过$.watch调用

  //注意:以上属性和方法,实例内部都通过this调用,外部则通过对应的实例方法访问

  //在vue的生命周期过程中,它自身还提供了一系列的钩子函数供我们使用,进行自定义逻辑的注入:   

  created: function(){ 实例已经创建 }

  beforeCompile: function(){ 模块编译之前 }

  compiled: function(){ 模块编译之后;即模板占位符被是内容替换}

  ready: function(){ 模板插入到文档中了;相当于window.onload }//Vue2.0已改为mounted

  注意: 以上4个方法在对象被实例化后即按顺序执行,以下2个方法需通过事件触发,并通过调用 实例名.$destory() 才执行

  beforeDestroy: function(){ 对象销毁之前 }

  destroyed: function(){ 对象销毁之后 }

});

Vue对象解析:

1,对象属性

  data、el、options、watch、computed

2,对象方法

  生命周期之钩子函数

3,对象实例访问和调用属性和方法

  A:实例属性调用:$options、$el、$data、$watch

  这里着重说下$watch,它的一般语法为:

vm.$watch("监听的实例属性名",function() { // 对于监听数据变化后的业务处理代码 });     --浅度监听

如果监听的属性是基本数据类型,上面用法是没有问题的,但如果监听的属性是对象,则对象内部的数据有变化,上面写法是监听不到的,需要进行一个参数进行深度监听,具体语法如下:

vm.$watch("监听的实例属性名",function() { // 对于监听数据变化后的业务处理代码 },{deep: true});  --深度监听

B:实例方法调用:$mount()、$log()、$destroy()

4,自带过滤器&自定义过滤器

  A:vue自带的过滤器有:

    capitalize(首字母大写)、uppercase、currency、json( 相当于JSON.Stringify() )、debounce(后跟秒数,配合事件,延迟执行)

    limitBy(参数1, 参数2) 常用语v-for数组,限制输出数量和从哪输出;参数1代表输出几个,参数2代表从第几个输出

    filterBy(参数) 过滤数据,过滤含有参数的数据,配合input输入框,通过输入变量过滤,打到热搜索的效果

    orderBy(参数) 对数据排序,参数为1时为正序,为-1时则倒序,其他什么参数呢?所以1和-1基本是常用情况

  B:自定义过滤器语法 (对于时间戳的处理是比较常用的自定义过滤器)

Vue.filter("过滤器名称",function(参数...){

    ...  //业务处理

    return ...;

  });

5,自带指令和自定义指令

  指令是对HTML语法的扩展,必须以v-开头,一般我们口中的指令实际是指属性指令,使用该属性指令的元素讲具有对应的属性功能,下面的C则是指元素指令,与属性指令有所区别

  A:自带指令:v-if、v-show、v-else、v-module、v-text、v-html、v-bind、v-on、v-el、v-cloak...

  这里着重说下v-text和v-cloak:在模板中我们调用实例属性数据时通常这样{{ 实例属性 }},这样在网速比较慢的情况下,页面出现闪烁的时候会把花括号和里面的原始内容显示出来,这样用户体验不好,处理这种情况有2种方式:

    1, 在较大段落元素上使用v-clock指令,并设置该元素的css: display:none

    2, 使用v-text/v-html代替花括号即可,Vue2.0也支持这样做,且花括号方式可能被取消

  B:自定义指令语法:

 Vue.directive("指令名称",function(..){
    this.el.style.background = 'red';   //这里的this代表new出来的实例,this.el代表原生的dom元素
  });

模板中使用v-指令名称进行使用,或v-指令名称="参数",可以在调用指令是进行传参

  定义指令名称时不加v-,模板使用时加v-

  C: 自定义元素指令 (据说用处不大,可忽略跳过,它所想要达到的效果,组件已超越)

 Vue.elementDirective("自定义元素名称",{
    bind: function() {};
  });

它不支持B情况语法,但B情况语法却默认也是bind

6,自定义键盘信息

Vue.directive('on'),keyCodes.ctrl = 17;  //17是ctrl的键码  等号前的ctrl是定义ctrl的别名,可以随便取,实际绑定的就是键盘上的ctrl键

模板调用@keydown.ctrl ="自定义方法"

目录
相关文章
|
19天前
|
数据采集 监控 JavaScript
在 Vue 项目中使用预渲染技术
【10月更文挑战第23天】在 Vue 项目中使用预渲染技术是提升 SEO 效果的有效途径之一。通过选择合适的预渲染工具,正确配置和运行预渲染操作,结合其他 SEO 策略,可以实现更好的搜索引擎优化效果。同时,需要不断地监控和优化预渲染效果,以适应不断变化的搜索引擎环境和用户需求。
|
5天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
|
5天前
|
存储 缓存 JavaScript
在 Vue 中使用 computed 和 watch 时,性能问题探讨
本文探讨了在 Vue.js 中使用 computed 计算属性和 watch 监听器时可能遇到的性能问题,并提供了优化建议,帮助开发者提高应用性能。
|
5天前
|
存储 缓存 JavaScript
如何在大型 Vue 应用中有效地管理计算属性和侦听器
在大型 Vue 应用中,合理管理计算属性和侦听器是优化性能和维护性的关键。本文介绍了如何通过模块化、状态管理和避免冗余计算等方法,有效提升应用的响应性和可维护性。
|
5天前
|
存储 缓存 JavaScript
Vue 中 computed 和 watch 的差异
Vue 中的 `computed` 和 `watch` 都用于处理数据变化,但使用场景不同。`computed` 用于计算属性,依赖于其他数据自动更新;`watch` 用于监听数据变化,执行异步或复杂操作。
|
4天前
|
JavaScript 前端开发 UED
vue学习第二章
欢迎来到我的博客!我是一名自学了2年半前端的大一学生,熟悉JavaScript与Vue,目前正在向全栈方向发展。如果你从我的博客中有所收获,欢迎关注我,我将持续更新更多优质文章。你的支持是我最大的动力!🎉🎉🎉
|
6天前
|
存储 JavaScript 开发者
Vue 组件间通信的最佳实践
本文总结了 Vue.js 中组件间通信的多种方法,包括 props、事件、Vuex 状态管理等,帮助开发者选择最适合项目需求的通信方式,提高开发效率和代码可维护性。
|
4天前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。自学前端2年半,熟悉JavaScript与Vue,正向全栈方向发展。博客内容涵盖Vue基础、列表展示及计数器案例等,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
|
6天前
|
存储 JavaScript
Vue 组件间如何通信
Vue组件间通信是指在Vue应用中,不同组件之间传递数据和事件的方法。常用的方式有:props、自定义事件、$emit、$attrs、$refs、provide/inject、Vuex等。掌握这些方法可以实现父子组件、兄弟组件及跨级组件间的高效通信。
|
11天前
|
JavaScript
Vue基础知识总结 4:vue组件化开发
Vue基础知识总结 4:vue组件化开发