当前位置: 首页 > news >正文

做网站的工作时间青岛网站seo推广

做网站的工作时间,青岛网站seo推广,信息发布网站怎么做,自己做网站难吗当存在一个响应式变量于视图中发生改变时会更新当前组件的所以视图显示,但是没有视图中不写这个响应式变量就就算修改该变量也不会修改视图,这是为什么?我们能否可以理解宽泛的理解为vue组件的更新就是视图的更新,单当视图中不存在…

当存在一个响应式变量于视图中发生改变时会更新当前组件的所以视图显示,但是没有视图中不写这个响应式变量就就算修改该变量也不会修改视图,这是为什么?我们能否可以理解宽泛的理解为vue组件的更新就是视图的更新,单当视图中不存在响应式变量时,就算组件数据更新,视图也不会更新,确实,我们发现在Vue3中,组件的更新与视图更新的关系需要结合响应式依赖追踪机制来理解。我们的观察是正确的:当响应式变量未被组件渲染逻辑依赖时,即使变量被修改,视图也不会更新。以下是具体原因和机制分析:


核心原理:依赖追踪与渲染触发

  1. 响应式系统的触发条件
    Vue3通过Proxy代理数据,当组件渲染时(如模板解析、计算属性计算等),会自动进行依赖收集。只有被访问过的响应式变量才会被记录为依赖。
    示例:若模板中使用了{{ count }}count会被标记为依赖;若未使用,则不会被追踪。

  2. 视图更新的触发逻辑
    当响应式变量被修改时,Vue会检查该变量是否仍有活跃的依赖(即是否被当前组件或子组件使用)。若无依赖,则不会触发视图更新。
    示例:若父组件修改了传递给子组件的非响应式数据,但子组件未使用该数据,子组件视图不会更新。


具体场景分析

场景1:响应式变量在模板中被使用
<template><div>{{ count }}</div> <!-- count被访问,触发依赖收集 -->
</template>
<script setup>
import { ref } from 'vue';
const count = ref(0);
</script>

修改count:Vue检测到count被访问过,触发依赖更新,视图重新渲染。

场景2:响应式变量未被模板使用
<script setup>
import { ref } from 'vue';
const count = ref(0);
// 仅在JavaScript逻辑中修改,未在模板中使用
count.value = 1;
</script>

修改count:由于count未被渲染逻辑依赖,Vue不会触发视图更新。

示例:

<!-- 父组件A -->
<template><div class="wrapper">A</div>{{ list }}<hr><B :list="list"></B>
</template><script setup>
import { ref } from 'vue';
import B from './B.vue';
let list = [1,2,3,4,5,6,7,8,9,10];
let count = ref(0);
setTimeout(()=>{list = [1,2,3,4,5,6,7,8,9,10].reverse();console.log("func",list);count.value = 1;
},2000)
</script><!-- 子组件B -->
<template><div class="wrapper">B</div>{{ props.list }}<hr>
</template><script setup>
import { onBeforeMount ,defineProps} from 'vue';
let props = defineProps(['list','count']);
setTimeout(() => {console.log("三秒后",props.list)console.log(props.count);
}, 3000);
</script>

关键结论

  1. 组件更新 ≠ 视图更新
    组件内部数据变化属于组件更新,但只有当数据被渲染逻辑依赖时,才会触发视图更新。

  2. 单向数据流与显式依赖
    Vue遵循单向数据流原则,视图更新必须通过响应式依赖显式触发。若需强制更新视图,可使用$forceUpdate(),但应尽量避免。


最佳实践

  1. 始终通过模板或计算属性使用响应式数据,确保依赖关系清晰。
  2. 避免直接修改非响应式数据,需通过事件或v-model同步更新。
  3. 使用watchcomputed处理复杂逻辑,确保数据变化被正确追踪。

总结

Vue的视图更新严格依赖响应式依赖追踪,而非组件内部数据变化的简单同步。理解这一机制有助于避免常见更新问题,提升开发效率。

http://www.mmbaike.com/news/91725.html

相关文章:

  • 网上兼职做论坛版主 网站编辑全球疫情今天最新消息
  • 怎么样签约设计网站百度优化排名
  • 网站怎么在成都备案品牌广告和效果广告
  • 调兵山 网站建设关键词整站优化公司
  • 有哪些网站可以做简历推广app的单子都在哪里接的
  • 平凉市住房和城乡建设厅网站顺德搜索seo网络推广
  • 做网站策划如何搜索关键词热度
  • 多语言社交网站开发建网站一般多少钱
  • 门户网站开发平台网络营销模式有哪些类型
  • 免费的小程序制作工具成都seo优化公司
  • 网站推广码怎么做app下载量推广
  • 建设政府官方网站的要求百度竞价关键词怎么优化
  • MAKA网站做H5怎么压缩图片实时热搜榜榜单
  • 怎么用linux做网站服务器吗sem是什么基团
  • 中国建设教育协会官方网站查谷歌浏览器下载视频
  • wordpress免登录发布接口成都seo培训
  • 做日租都有哪些网站网络营销专业学什么
  • 义务网站建设微信公众号小程序怎么做
  • 计算机网站开发参考文献北京疫情最新情况
  • 培训教育机构郑州网站seo服务
  • 用javascirpt做的网站网站排名优化培训
  • 重庆市建设工程信息网站百度关键词推广公司哪家好
  • 网站设计影响seo的因素运营推广计划怎么写
  • ui网站设计模板厦门seo计费
  • 营销型网站制作流程如何策划一个营销方案
  • wordpress 复制页面seo搜索引擎优化人才
  • 青岛网站推广怎么做好北京最新疫情最新消息
  • e时代网站制作网站怎么弄
  • 新疆建设网站首页seo站内优化站外优化
  • 制作网站的方法美国新冠疫情最新消息