# lnn-vue3.1 **Repository Path**: LNN_nn/lnn-vue3.1 ## Basic Information - **Project Name**: lnn-vue3.1 - **Description**: 真正vue3.0 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-01 - **Last Updated**: 2021-07-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README vue 3.0 添加setup 主要用于组合API /*** * component API 与 option API(就是vue2 中data,methods中) * component API 可以和 option Api 混合一起使用 * component API(组合或注入API) 本质 在运行的过程中 将component API 暴露出来的数据或方法注入到option API中 * setUp 执行的时机: 在beforeCreate和create之间执行的 * 注意: 执行setUp函数的时候还没有执行created所以在setUp中是没法使用data和methods中属性与方法的 * 由于不能再setUp函数中使用data和methods,所以为了避免使用错误,vue直接将this设置成了undefined 不能用this * setUp中的数据只能是同步的不能是异步 意思是setup前不能加async 而不是不能调用请求方法 * reactive: * reactive是vue3中提供实现相应话数据的 * 在vue2中是通过object.defineProperty实现 * 在vue3中是通过Proxy实现 * 本质:将传入的数据包装成一个proxy对象 * reactive注意: * reactive接收的数据必须是对象(json,arr) * 如果给reactive传递了其他对象 * 默认情况下修改对象,单界面不会自动更新 * 如果想更新,可以通过重新复制的方式 也就是属性值是一个对象 不能用属性值中set方法 必须用 = 赋值 * ref:一定要注意.value来获取数据 * 监听基本属性类型 也能监听对象 但是推荐用reactive监听对象 * 本质:还是reactive. 给ref方法传递一个值,ref会将其转化成reactive ref(18) => reactive({value: 18}) reactive 会默认添加一个属性value * 所以直接修改ref定义的变量不行(如 age = 12) 必须 age.value = 12 * 注意:如果是通过ref创建的数据在