vue-next(vue3.0)学习笔记(1)

1.基于vite创建一个vue3.0项目

npm init vite-app 项目名称
cd 项目名称
npm install
npm run dev
npm run build

2.setup

setup函数是一个新的组件选项,作为在组件内使用Composition API的入口点

  • 初始化props和beforeCreate之间的调用
  • 可以接收props和context
  • this在setup()中不可用

props是响应式的,可以基于watchEffect/watch监听,但是解构赋值后是无效的

import { watchEffect } from "vue";
export default {
	props: {
		title: {
			type: String,
			default: 'vue3.0'
		}
	},
	setup(props) {
		//这样写props是响应式的
		watchEffect(() => {
			console.log(props.title);
		});
	}
};
import { watchEffect } from "vue";
export default {
	props: {
		title: {
			type: String,
			default: 'vue3.0'
		}
	},
	setup({title}) {
		  //这样解构写就不是响应式了
		watchEffect(() => {
		  	console.log(title);
		});
	}
}

我们可以在setup中创建一个变量

export default {
	setup() {
		let num = 0;
		return {
			num
		}
	}
}

3.ref

接受一个参数值并返回一个响应式且可改变的 ref 对象

ref 对象拥有一个指向内部值的单一属性 .value

当ref在模板中使用的时候,它会自动解套,无需在模板内额外书写 .value
import { ref } from "vue";
export default {
	setup() {
		let num = ref(0);// 现在num就是响应式了
		return {
			ref
		}
	}
}

4.reactive

接收一个普通对象然后返回该普通对象的响应式代理 等同于 2.x 的 Vue.observable()

  响应式转换是“深层的”:会影响对象内部所有嵌套的属性
import { ref, reactive } from "vue";
export default {
	setup() {
		let state = reactive({
			num: 0
		})
		return {
			state
		}
	}
}

5.readonly

传入一个对象(响应式或普通)或 ref,返回一个原始对象的只读代理 一个只读的代理是“深层的”,对象内部任何嵌套的属性也都是只读的

import { reactive, readonly } from "vue";
export default {
    setup() {
        const num = reactive({
            count: 0,
        });
        const copy = readonly(num);
        copy.count++; // 无法修改会报警告
        console.log(copy.count);
    }
};

6.computed

传入一个 getter 函数,返回一个默认不可手动修改的 ref 对象

import { ref, computed } from "vue";
export default {
    setup() {
        const count = ref(1);
        const add = computed(() => {
            count.value + 1;
        });
        console.log(count.value);
        add.value++; //报错
    }
};

或者传入一个拥有 get 和 set 函数的对象,创建一个可手动修改的计算状态

const count = ref(1);
const add = computed({
    get: () => count.value + 1,
    set: (val) => {
        count.value = val - 2;
    },
});
add.value++;
console.log(count.value);
Vue-i18n是一个用于Vue.js的国际化插件,用于实现网站或应用程序的多语言支持。它提供了一种简单的方式来管理和切换不同语言的文本内容。关于Vue-i18n在Vue 3.0中的使用,有几点需要注意: 1. 需要下载最新版的vue-i18n插件。你可以通过以下命令来安装最新版本的vue-i18n: `npm install vue-i18n@next` 或 `yarn add vue-i18n@next`。 [2] 2. 在你的`index.js`文件中,你需要导入`createI18n`函数和语言库文件。语言库文件是包含不同语言文本的文件,可以根据需要自行创建。你可以根据以下代码示例来配置i18n实例:<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue3.0中使用i18n插件来实现国际化以及切换语言所遇到问题得解决](https://blog.csdn.net/qq_43574079/article/details/112473914)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [vue3.0配置vue-i18n](https://blog.csdn.net/qq_43485006/article/details/120034213)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值