Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

vue markraw

作者:热血震荡   发布日期:2025-03-04   浏览:86

// 使用 MarkRaw 防止响应式转换
import { markRaw, reactive } from 'vue'

export default {
  setup() {
    // 创建一个响应式对象
    const state = reactive({
      message: 'Hello Vue!',
      // 使用 markRaw 标记的对象将不会被 Vue 的响应式系统处理
      nonReactiveObject: markRaw({ count: 0 })
    })

    // 修改 nonReactiveObject 中的属性不会触发视图更新
    setTimeout(() => {
      state.nonReactiveObject.count++
      console.log(state.nonReactiveObject.count) // 输出 1,但视图不会更新
    }, 1000)

    return {
      state
    }
  }
}

解释说明:

  • markRaw 是 Vue 3 提供的一个 API,用于标记一个对象为非响应式的。这意味着该对象不会被 Vue 的响应式系统处理,即使它作为响应式对象的一部分。
  • 在上面的示例中,nonReactiveObject 被标记为非响应式对象,因此修改它的属性(如 count)不会触发视图更新。
  • 这在某些情况下非常有用,例如当你有一个大型的第三方库或数据结构不想被 Vue 的响应式系统接管时。

上一篇:vue3获取dom

下一篇:vue2 eventbus

大家都在看

vue.config.js configu

node.js vue

vue查看版本

vue等待几秒

vue3 setup computed

vue screenfull

vue json.stringify

vue 遍历list

typescript vue

vue 复选框

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站