iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >分享Vue的一些小技巧
  • 508
分享到

分享Vue的一些小技巧

2024-04-02 19:04:59 508人浏览 泡泡鱼
摘要

这篇文章主要介绍“分享Vue的一些小技巧”,在日常操作中,相信很多人在分享Vue的一些小技巧问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”分享Vue的一些小技巧”的疑惑有所帮

这篇文章主要介绍“分享Vue的一些小技巧”,在日常操作中,相信很多人在分享Vue的一些小技巧问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”分享Vue的一些小技巧”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  组件style的scoped

  Vue 数组/对象更新 视图不更新

  vue filters 过滤器的使用

  列表渲染相关

  深度watch与watch立即触发回调

  这些情况下不要使用箭头函数

  路由懒加载写法

  路由的项目启动页和404页面

  Vue调试神器:vue-devtools

  组件style的scoped:

  问题:在组件中用js动态创建的dom,添加样式不生效。

  场景:

  <template>

  <div></div>

  </template>

  <script>

  let a=document.querySelector('.test');

  let newDom=document.createElement("div"); // 创建dom

  newDom.setAttribute("class","testAdd" ); // 添加样式

  a.appendChild(newDom); // 插入dom

  </script>

  <style scoped>

  .test{

  background:blue;

  height:100px;

  width:100px;

  }

  .testAdd{

  background:red;

  height:100px;

  width:100px;

  }

  </style>

  结果:

  // test生效 testAdd 不生效

  <div data-v-1b971ada><div></div></div>

  .test[data-v-1b971ada]{ // 注意data-v-1b971ada

  background:blue;

  height:100px;

  width:100px;

  }

  原因:

  当 <style> 标签有 scoped 属性时,它的 CSS 只作用于当前组件中的元素。

  它会为组件中所有的标签和class样式添加一个scoped标识,就像上面结果中的data-v-1b971ada。

  所以原因就很清楚了:因为动态添加的dom没有scoped添加的标识,没有跟testAdd的样式匹配起来,导致样式失效。

  解决方式

  推荐:去掉该组件的scoped

  每个组件的css并不会很多,当设计到动态添加dom,并为dom添加样式的时候,就可以去掉scoped,会比下面的方法方便很多。

  可以动态添加style

  // 上面的栗子可以这样添加样式

  newDom.style.height='100px';

  newDom.style.width='100px';

  newDom.style.background='red';

  Vue 数组/对象更新 视图不更新

  很多时候,我们习惯于这样操作数组和对象:

  data() { // data数据

  return {

  arr: [1,2,3],

  obj:{

  a: 1,

  b: 2

  }

  };

  },

  // 数据更新 数组视图不更新

  this.arr[0] = 'OBKoro1';

  this.arr.length = 1;

  console.log(arr);// ['OBKoro1'];

  // 数据更新 对象视图不更新

  this.obj.c = 'OBKoro1';

  delete this.obj.a;

  console.log(obj); // {b:2,c:'OBKoro1'}

  由于js的限制,Vue 不能检测以上数组的变动,以及对象的添加/删除,很多人会因为像上面这样操作,出现视图没有更新的问题。

  解决方式:

  this.$set(你要改变的数组/对象,你要改变的位置/key,你要改成什么value)

  this.$set(this.arr, 0, "OBKoro1"); // 改变数组

  this.$set(this.obj, "c", "OBKoro1"); // 改变对象

  如果还是不懂的话,可以看看这个codependemo。

  数组原生方法触发视图更新:

  Vue可以监测到数组变化的,数组原生方法:

  splice()、 push()、pop()、shift()、unshift()、sort()、reverse()

  意思是使用这些方法不用我们再进行额外的操作,视图自动进行更新。

  推荐使用splice方法会比较好自定义,因为slice可以在数组的任何位置进行删除/添加操作,这部分可以看看我前几天写的一篇文章:【干货】js 数组详细操作方法及解析合集

  3.替换数组/对象

  比方说:你想遍历这个数组/对象,对每个元素进行处理,然后触发视图更新。

  // 文档中的栗子: filter遍历数组,返回一个新数组,用新数组替换旧数组

  example1.items = example1.items.filter(function (item) {

  return item.message.match(/Foo/)

  })

  举一反三:可以先把这个数组/对象保存在一个变量中,然后对这个变量进行遍历,等遍历结束后再用变量替换对象/数组。

  并不会重新渲染整个列表:

  Vue 为了使得 DOM 元素得到最大范围的重用而实现了一些智能的、启发式的方法,所以用一个含有相同元素的数组去替换原来的数组是非常高效的操作。

  如果你还是很困惑,可以看看Vue文档中关于这部分的解释。

  vue filters 过滤器的使用:

  过滤器,通常用于后台管理系统,或者一些约定类型,过滤。Vue过滤器用法是很简单,但是很多朋友可能都没有用过,这里稍微讲解一下。

  在html模板中的两种用法:

  <!-- 在双花括号中 -->

  {{ message | filterTest }}

  <!-- 在 `v-bind` 中 -->

  <div :id="message | filterTest"></div>

  在组件script中的用法:

  export default {

  data() {

  return {

  message:1

  }

  },

  filters: {

  filterTest(value) {

  // value在这里是message的值

  if(value===1){

  return '最后输出这个值';

  }

  }

  }

  }

  用法就是上面讲的这样,可以自己在组件中试一试就知道了,很简单很好用的。

  如果不想自己试,可以点这个demo里面修改代码就可以了,demo中包括过滤器串联、过滤器传参。

到此,关于“分享Vue的一些小技巧”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 分享Vue的一些小技巧

本文链接: https://www.lsjlt.com/news/85398.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 分享Vue的一些小技巧
    这篇文章主要介绍“分享Vue的一些小技巧”,在日常操作中,相信很多人在分享Vue的一些小技巧问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”分享Vue的一些小技巧”的疑惑有所帮...
    99+
    2024-04-02
  • Java中Stream的一些技巧分享
    这篇文章主要介绍“Java中Stream的一些技巧分享”,在日常操作中,相信很多人在Java中Stream的一些技巧分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中Stream的一些技巧分享”的疑...
    99+
    2023-06-20
  • Vue中$once的两个实用小技巧分享
    目录前言清除定时器$once/$emit + async/await 实现 Dialog 同步执行总结前言 在 Vue 中有很多 API 都有很实用的地方,只是需要挖掘适用的场景,这...
    99+
    2024-04-02
  • 分享9个Vue的巧妙冷技巧
    目录前言1. 巧用$attrs和$listeners2. 巧用$props3. 妙用函数式组件4. 妙用 Vue.config.devtools5. 妙用 methods6. 妙用 ...
    99+
    2024-04-02
  • 分享Python 的十个小技巧
      一. 列表、字典、集合、元组的使用  from random import randint, sample  # 列表解析  data = [randint(-10, 10) for _ in xrange(10)]  filter(l...
    99+
    2023-01-31
    小技巧 Python
  • 分享JPA的几个小技巧
    目录1. 基本字段介绍2. 自定义ID生成器3. 自动填充字段4. End关系型数据库其实很讨人厌,尤其是在你使用数据库驱动的开发模式时。需要首先把表给创建好了,然后再使用代码生成器...
    99+
    2024-04-02
  • Python小技巧练习分享
    目录1.反转数字2.类的说明文档3.设置 Python 文件的编码4.旋转字符串5.实现控制台滚动条6.print 函数直接写入文件7.合并 2 个列表1.反转数字 问题场景: 把数...
    99+
    2024-04-02
  • Vue的小技巧有哪些
    这篇文章主要介绍“Vue的小技巧有哪些”,在日常操作中,相信很多人在Vue的小技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue的小技巧有哪些”的疑惑有所帮助!接...
    99+
    2024-04-02
  • Vue开发的36个技巧分享
    本篇内容介绍了“Vue开发的36个技巧分享”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言Vue 3.x...
    99+
    2024-04-02
  • 选择域名的小技巧分享
    本篇内容主要讲解“选择域名的小技巧分享”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“选择域名的小技巧分享”吧!技巧之一:很容易的输入我们注册的域名需要便于输入,不能用特别的符号或者字母或者文字组...
    99+
    2023-06-06
  • 分享一些Java开发中的使用技巧
    这篇文章给大家介绍分享一些Java开发中的使用技巧,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Web部分:脱离开各种语言,纯粹和 web相关的就是这些: HTML,CSS,JavaScript。哪怕你不用Java开发...
    99+
    2023-05-31
    java ava
  • vue项目中less的一些使用小技巧
    目录前言 一、样式穿透 1.  什么是样式穿透?2.  如何使用? 二、混入 1.  什么是混入? 2.  如何使用?三、 less自动化导入...
    99+
    2024-04-02
  • java避免多层嵌套循环用到的一些小技巧分享
    目录避免多层嵌套循环用到的小技巧(1)借用第三个List,使用Contains()方法(2)数据量大,使用HashSet(3)JAVA8及以上使用lambda表达式跳出java中的多...
    99+
    2024-04-02
  • vue3provide与inject的使用小技巧分享
    目录vue3 provide与inject使用技巧进入正题父组件child组件son组件vue3的一些实用技巧v-for 和 v-if 不要一起使用(Vue2)vue3 provid...
    99+
    2024-04-02
  • 常用的29个CSS小技巧分享
    本篇内容主要讲解“常用的29个CSS小技巧分享”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“常用的29个CSS小技巧分享”吧!1.清除图片下方出现几像素的空白间...
    99+
    2024-04-02
  • 分享5个JavaScript的写法小技巧
    目录前言过滤空值数组对象解构分隔数字箭头函数直接返回对象await 链条总结前言 JavaScript 易上手,但是难以全面掌握;它有许多“怪癖”,只有在长时...
    99+
    2024-04-02
  • 分享常用的3个C++小技巧
    目录1、头文件是引用<iostream.h>还是<iostream>?2、逗号分割表达式3、在main函数之前运行代码1、头文件是引用<iostream...
    99+
    2024-04-02
  • Python语言的10个小技巧分享
    这篇文章主要讲解了“Python语言的10个小技巧分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python语言的10个小技巧分享”吧!10个Python小技巧1. 用ZIP处理列表假设...
    99+
    2023-06-16
  • 分享11个常用JavaScript小技巧
    目录1.通过条件判断向对象添加属性2.检查对象中是否存在某个属性3.解构赋值4.循环遍历一个对象的key和value5.使用可选链(Optionalchaining)避免访问对象属性...
    99+
    2024-04-02
  • 7个很棒的Vue开发技巧分享
    目录1.路由参数解耦2.功能组件3.样式范围4.watch的高级使用5.watch监听多个变量6.事件参数$event7.程序化事件监听器1.路由参数解耦 通常在组件中使用路由参数,...
    99+
    2023-02-08
    Vue开发技巧 Vue技巧
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作