所有分类
  • 所有分类
  • 后端开发
Vue框架解决网页高光乱飞问题

Vue框架解决网页高光乱飞问题

首先:现在是我点击在产品介绍页面但是当我刷新页面后高亮位置就变成了第一个在头部组件里面控制导航高亮显示是checked,默认值是0,触发点击事件会重新赋值,跳转路由,当刷新页面,checked值是0,所以要监听checked时刻发生变化;利

有木有试过这样的事儿呀?就简简单单瞅瞅商品网页,没留意不小心刷了一下,结果高亮部分直接跑到最上面来了,真挺神奇?

就是说,咱们那个头部分件有点糊涂了,导航里的“选中”功能搞得不对劲儿。开始默认是没选的(也就是checked=0),当你点击导航后,对应的路径就让它变成选中的(checked=1)。接着再刷新页面看看, checked 的数值又变回0了,这里得多留意下哈。

咋搞的?用 Vue框架就成!啥道理,就是子页传个数据到父页,接下来父页再把这个数据又传回到头组件里去。要注意的是要用 prop 的方式!

记住咱们这个规矩属性只能向下传递,不可逆转。这样可以防止因为失误而改变父级,导致整个系统乱七八糟。

Vue框架解决网页高光乱飞问题

唔,顺便提醒下。只要父组件换了个样儿,立马轮到子组件里的所有 prop 都得重新更新!记住,子组件里千万别轻易改那些 prop,不然 Vue 就会发现然后警告你哒~

我告诉你两个调整属性值的方法,其实用的是第二种。

1.这个 prop 用来传递一个初始值;这个子组件接下来希望将其作为一个本地的 prop 数据来使用。在这种情况下,
 最好定义一个本地的 data 属性并将这个 prop 用作其初始值:
	props: ['initialCounter'],
		data: function () {
		 return {
		 counter: this.initialCounter
		 }
	}
2.这个 prop 以一种原始的值传入且需要进行转换。在这种情况下,最好使用这个 prop 的值来定义一个计算属性:
		props: ['size'],
			computed: {
			 normalizedSize: function () {
			 return this.size.trim().toLowerCase()
			 }
		}	

你明白这事儿咋回事儿了?父子传值跟prop都能搞定网页刷新的时候高光位置乱飞的问题,这样一来,用着舒服多了不是!希望我说的这些对你有帮助哈。要是还不清楚或者有啥想问的,就在评论里说呗!记得点个赞,把这个小技巧分享给你身边也需要的人!

原文链接:https://www.icz.com/technicalinformation/web/javascript/2024/03/11360.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?