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

vps 网站打不开公司网站开发费用计入什么科目

vps 网站打不开,公司网站开发费用计入什么科目,沧州市网站建设电话,网站交互式好的,下面是 props 与 $emit 以及 provide 与 inject 的对比: 1. props 与 $emit props:父组件通过 props 向子组件传递数据,子组件接收后不可修改。子组件只能读取 props 传递给它的数据。如果需要修改或更新父组件的状态&#…

好的,下面是 props$emit 以及 provideinject 的对比:

1. props$emit

  • props:父组件通过 props 向子组件传递数据,子组件接收后不可修改。子组件只能读取 props 传递给它的数据。如果需要修改或更新父组件的状态,子组件必须通过 $emit 发射事件将变化传递回父组件。

  • $emit:子组件通过 $emit 向父组件发送事件通知,通常携带事件的相关数据。父组件通过事件监听器(@event)接收并处理事件,从而更新父组件的状态。

使用场景
  • props 用于父组件向子组件传递数据。
  • $emit 用于子组件向父组件传递事件或更新通知。

2. provideinject

  • provide:父组件使用 provide 向其所有子孙组件提供一个数据源。provide 提供的是一个共享的数据源,所有子孙组件都可以通过 inject 获取到这些数据。provide 并不会创建副本,而是传递引用,所以子组件对数据的修改会直接影响父组件。

  • inject:子组件通过 inject 获取父组件(或祖先组件)通过 provide 提供的数据。通过 inject 获取到的数据通常可以直接修改(因为它是引用类型),不过需要注意可能会影响到父组件的状态。

使用场景
  • provideinject 用于祖先组件与后代组件之间的数据传递。provide 提供数据,inject 接收数据,并且在需要时可以修改这些数据。

对比总结

特性props$emitprovideinject
数据流父组件 → 子组件子组件 → 父组件父组件 → 所有子孙组件子组件 → 获取父组件或祖先组件的数据
数据修改子组件不能直接修改父组件的数据子组件通过 $emit 向父组件通知修改子组件可以直接修改数据子组件可以直接修改数据
用途用于父组件向子组件传递数据用于子组件向父组件发出事件用于祖先组件向后代组件共享数据用于后代组件接收祖先组件共享的数据
作用范围仅限于父子组件之间仅限于父子组件之间祖先组件可以向所有子孙组件提供数据后代组件可以接收祖先组件提供的数据
是否创建新副本会为每个子组件创建数据的副本不涉及数据副本提供的数据是引用类型,不会创建副本获取的是引用类型的数据
数据传递方式单向数据流,父组件传递给子组件子组件通过事件通知父组件数据通过引用共享给所有后代组件子组件通过引用访问祖先组件提供的数据
父子组件关系父组件控制子组件的数据,子组件只读数据子组件通知父组件,父组件处理事件祖先组件与后代组件之间共享数据后代组件通过 inject 获取祖先组件提供的数据

总结:

  • props$emit父子组件 之间常用的通信机制,父组件通过 props 传递数据给子组件,子组件通过 $emit 将事件和数据传递回父组件。
  • provideinject祖先组件与后代组件 之间的通信机制,适用于不直接相邻的组件之间的数据传递。provide 提供共享数据,inject 接收共享数据,且子组件可以修改这些数据。

除了 props$emitprovideinject,Vue 中还有其他几种数据传递和通信方式,特别是适用于不同组件间的交互。以下是一些常见的传值方式:

1. v-model 双向数据绑定

  • 用法v-model 是 Vue 提供的双向数据绑定的语法糖,主要用于父子组件之间的值传递。通过 v-model,子组件可以绑定父组件传递的值,并且可以修改这个值,父组件会接收到修改后的值。

  • 工作原理v-model 会在父组件中生成一个绑定的属性(通常是 value),子组件会通过 modelValue(Vue 3 中)或 value(Vue 2 中)接收这个值,并通过 $emit 发射事件更新值。

  • 示例

    <!-- 父组件 -->
    <child-component v-model="message"></child-component><!-- 子组件 -->
    <template><input :value="modelValue" @input="$emit('update:modelValue', $event)">
    </template>
    

    这样,v-model 可以实现父子组件的双向数据绑定。


2. 事件总线 (Event Bus)

  • 用法:事件总线是通过 Vue 实例来实现组件之间的通信,适用于多个组件之间没有直接关系时的通信。父子组件关系无法满足的情况时,可以使用事件总线。

  • 工作原理:通过 new Vue() 创建一个中央事件总线,将事件注册在事件总线上,其他组件可以通过 $on 监听事件,通过 $emit 触发事件。

  • 示例

    // 在事件总线文件中创建一个 Vue 实例
    export const EventBus = new Vue();// 组件1:触发事件
    EventBus.$emit('eventName', data);// 组件2:监听事件
    EventBus.$on('eventName', data => {// 处理数据
    });
    
  • 注意:事件总线通常不推荐用于大型应用,因为它可能导致难以追踪的状态和事件,尤其是当项目变大时。


3. Vuex 状态管理

  • 用法:Vuex 是一个专为 Vue.js 应用程序开发的状态管理库,用于在不同组件之间共享状态。它是适用于跨组件、跨页面、跨模块的数据共享方案。

  • 工作原理:Vuex 使用一个中央的 store 来存储数据,组件通过 store 访问状态并提交更改,Vuex 会自动更新相关组件的视图。

  • 示例

    // Vuex store 配置
    const store = new Vuex.Store({state: {count: 0},mutations: {increment(state) {state.count++;}}
    });// 组件访问 Vuex 状态
    this.$store.state.count;
    this.$store.commit('increment');
    
  • 适用场景:适用于复杂的状态管理,特别是当需要跨组件或跨页面共享和更新状态时,Vuex 是一个非常好的选择。


4. Scoped Slots (作用域插槽)

  • 用法:作用域插槽允许子组件向父组件暴露数据,父组件可以通过插槽的作用域来访问这些数据。它是通过插槽和插槽内容传递数据的一种方式。

  • 工作原理:通过作用域插槽,父组件可以传递函数给子组件,子组件通过插槽将数据传递给父组件使用。

  • 示例

    <!-- 父组件 -->
    <child-component><template #default="{ item }"><p>{{ item.name }}</p></template>
    </child-component><!-- 子组件 -->
    <template><slot :item="item"></slot>
    </template>
    
  • 适用场景:当你想让父组件能够接收到子组件的数据并动态渲染子组件的内容时,可以使用作用域插槽。


5. Local Storage / Session Storage

  • 用法localStoragesessionStorage 是浏览器提供的 Web 存储机制,它们可以存储数据并在不同的页面或组件之间共享。localStorage 是持久化存储,sessionStorage 在会话结束时清除。

  • 工作原理:你可以通过 localStorage.setItemsessionStorage.setItem 将数据存储到浏览器的本地存储中,然后在其他页面或组件中读取该数据。

  • 示例

    // 存储数据
    localStorage.setItem('key', 'value');// 获取数据
    const value = localStorage.getItem('key');
    
  • 适用场景:适用于需要在多个页面或应用程序会话中保持数据的场景,尤其是需要跨页面共享数据时。


6. Cookie

  • 用法:Cookie 是浏览器用于存储少量数据的机制,通常用于保存会话信息、用户认证信息等。

  • 工作原理:通过 document.cookie 设置和读取 Cookie 数据,浏览器会在后续请求时自动带上 Cookie 数据。

  • 示例

    // 设置 Cookie
    document.cookie = "username=John Doe";// 获取 Cookie
    const cookies = document.cookie;
    
  • 适用场景:适用于跨页面、跨会话的简单数据存储,特别是用户认证和会话信息。


总结对比

传值方式适用场景数据流优点缺点
props$emit父子组件之间的数据传递与事件处理父 → 子,子 → 父简单易用,直观,适用于父子组件间数据交互只适用于父子组件关系
provideinject祖先组件与后代组件之间的数据传递父 → 后代,子 → 祖先适用于非直系组件间共享数据可能引发数据依赖问题
v-model双向绑定父子组件间的数据父 ↔ 子自动实现双向绑定需要约定规范,可能引起混乱
EventBus跨多个组件间的通信,尤其是非直接关系的组件组件 → 组件灵活,适用于多个组件之间的事件通信难以追踪和管理,容易引发不必要的依赖
Vuex跨多个组件、页面间共享复杂的状态管理全局状态管理强大的状态管理功能,适合大规模应用配置和维护比较复杂
Scoped Slots父组件控制子组件的内容,同时接收子组件暴露的数据父 ↔ 子灵活的内容插入机制使用场景较为特定
LocalStorage/SessionStorage跨页面数据共享,数据持久化浏览器存储,跨页面数据持久化,跨页面可访问只适用于简单数据,不适合复杂状态
Cookie跨会话共享数据,通常用于存储认证信息跨会话,跨页面浏览器自动管理,跨会话持久化存储容量小,安全性较低

文章转载自:

http://dYCvLXmf.gypcr.cn
http://9wePKDg8.gypcr.cn
http://wwv8xKIA.gypcr.cn
http://GDsufcGZ.gypcr.cn
http://EEac0Nyz.gypcr.cn
http://PpLGkFjU.gypcr.cn
http://SMBKXLa3.gypcr.cn
http://TVDvJOg9.gypcr.cn
http://3qNgYj6D.gypcr.cn
http://ppaKxydE.gypcr.cn
http://jTIdWKCu.gypcr.cn
http://5qzcoIAF.gypcr.cn
http://gsIpZrse.gypcr.cn
http://BtVsGTfa.gypcr.cn
http://UMVnpVhO.gypcr.cn
http://Z7VKT6NM.gypcr.cn
http://zCdGQFLp.gypcr.cn
http://RnyWUqZY.gypcr.cn
http://K3ITtpVU.gypcr.cn
http://nQExpxlJ.gypcr.cn
http://VQkkYuWl.gypcr.cn
http://avUtG8yX.gypcr.cn
http://A8050HR3.gypcr.cn
http://2jr3353W.gypcr.cn
http://zCntYQqS.gypcr.cn
http://iSw8fwoF.gypcr.cn
http://bZVKUsAl.gypcr.cn
http://D80u5EjD.gypcr.cn
http://joLET99z.gypcr.cn
http://lrj1CFPW.gypcr.cn
http://www.dtcms.com/wzjs/666762.html

相关文章:

  • php网站开发报告如何在网站做宣传
  • 建个什么网站深圳保障性住房价格
  • 长沙岳麓区没有网站可以做seo
  • 科技成果转化网站建设方案企业网站不备案会怎么样
  • 东莞企业建站公司网站域名费一年多少钱
  • 朵以服饰 网站建设腾讯云网站建设视频教程
  • 甘肃省建设工程安质局网站吉林网站建设司
  • 网站设置关键词html5做网站心得体会
  • 女与男做那个的视频网站虚拟商品交易网站建设
  • 门户网站网站开发新开传奇网站首区
  • 哪个省份做网站的多昌大建设集团
  • 西安最好的网站建设公司网站哪个服务器好
  • 网站对接qq群 虚拟主机免费商城版网站制作
  • 网站建设需要审批吗wordpress怎么播放视频
  • 商务网站策划 网站目标与经营模式定位鹰潭网站建设
  • 水友做的yyf网站商业空间设计的概念
  • 重庆智能网站建设推荐公司网站内容更新该怎么做
  • 怎么做网站前端建德市建设局网站
  • 怎么看一个网站是谁做的透明背景图片在线制作
  • 常州市网站建设公司一个人 建设网站
  • 东莞黄江建设银行网站中小企业网络设计论文
  • wordpress添加登录网站优化推广外包
  • 网站展示英文都用什么字体房屋装修效果图制作
  • 有哪些企业建设网站本土广告公司
  • 科技网站建设分析网站么做淘宝客赚佣金
  • 刘家窑做网站的公司赣州网上中介服务超市
  • 专业的手表网站优区生活app官方下载
  • 国内外优秀建筑设计网站怎么用wordpress建手机网站
  • 网站架构工程师市场调研一般怎么做
  • 松江做网站多少钱免费ppt下载网站