vite等知识点

快速删除node-modules文件夹

安装一个包

文件命名规范

新手在组件命名的时候不够规范,根据官方风格指南,除了根组件(App.vue)外,自定义组件名称应该由多单词组成,防止和html标签冲突。
而最新的vue-cli创建的项目使用了最新的vue/cli-plugin-eslint插件,在vue/cli-plugin-eslint v7.20.0版本之后就引用了vue/multi-word-component-names规则,所以在编译的时候判定此次错误。

解决方案

vite创建vue3项目

由vite创建vue3项目 (vite得需要考虑node版本号,只支持部分node版本)
pnpm create vite my-vue-app --template vue
创建项目很快,运行时得先进行pnpm install ,不然会报错,不同于webpack运行

在vue3中watch监听数据:一个是handler别忘了,对于监听对象而言,deep:true别忘了
xxx : { handler: function(){ doSth}, deep:true }

安装vue vscode snippets插件,采用 vbase 选择 -3直接就创建基本架构

对话框:一般会有一个 showDialog 的属性进行展示与隐藏的功能, 一般是 v-if的指令去判断 showDialog的属性,通过点击事件去判断是否存在:简单写法 @click = 'showDialog = !showDialog' 这种内部一行就能解决的方式。

通信方式

对于父子组件的数据通信而言,不仅仅是数据的传输,还有事件的产生;
简单一个例子展现事件
Father: @cancel = ‘father-method’
Son: @click = ‘cancel’

具名插槽

父组件
<template #title> <div>guts</div></template>
子组件
<div> <slot name="title">具名插槽</slot></div>
为什么需要插槽?- 灵活性

vue3的 v-model的变化

关于子组件传入的数据发生变化,更新父组件 v-model的数据:
this.$emit('update:xxx-xxx', this.xxxXxx)
待细看

关于键盘的enter与esc

对于某些表单只需要简单的回车就确定了: @keyup.enter = 'doSth'
对于取消表单信息只需要:@keyup.esc = 'doSth'

组合式API

为何需要组合式?

小改动:在setup中需要变量用到 ref() , 改变值需要 变量.value
ref 接收参数并将其包裹在一个带有 value property 的对象中返回,然后可以使用该 property 访问或更改响应式变量的值:

let a = ref('zs')
function test() { a.value = 'ls'}

将值封装在一个对象中,看似没有必要,但为了保持 JavaScript 中不同数据类型的行为统一,这是必须的。这是因为在 JavaScript 中,Number 或 String 等基本类型是通过值而非引用传递的。

reactive一般复杂对象而言,修改元素就正常修改就好。

生命周期的写法:在括号内部写入方法,倾向于箭头函数写法
onMounted(() => { console.log("onMounted"); });

watch的写法:
就像我们在组件中使用 watch 选项并在 user property 上设置侦听器一样,我们也可以使用从 Vue 导入的 watch 函数执行相同的操作。它接受 3 个参数:

一个想要侦听的响应式引用或 getter 函数
一个回调
可选的配置选项
import { ref, watch } from ‘vue’
const counter = ref(0)
watch(counter, (newValue, oldValue) => {
console.log('The new counter value is: ’ + counter.value)
})

computed写法:
与 ref 和 watch 类似,也可以使用从 Vue 导入的 computed 函数在 Vue 组件外部创建计算属性。让我们回到 counter 的例子:

import { ref, computed } from ‘vue’

const counter = ref(0)
const twiceTheCounter = computed(() => counter.value * 2)

counter.value++
console.log(counter.value) // 1
console.log(twiceTheCounter.value) // 2

这里我们给 computed 函数传递了第一个参数,它是一个类似 getter 的回调函数,输出的是一个只读的响应式引用。为了访问新创建的计算变量的 value,我们需要像 ref 一样使用 .value property。

父传子

//定义属性:通过defineProps方法
let props = defineProps({ modelValue: { type: String, default: "", }, title: { type: String, default: "", }, });

代码

关于组合式API, 有内置的 defineEmits({})等方法,使用之前的也是可以的。

<script setup lang="ts">
import { ref, reactive, onBeforeUnmount, onUnmounted } from "vue"; 

//定义属性
let props = defineProps({
  modelValue: {
    type: String,
    default: "",
  },
  title: {
    type: String,
    default: "",
  },
});

//事件触发器
let emit = defineEmits({});

function submit() {
  emit("update:model-value", props.modelValue);
  emit("submit", props.modelValue);
}
function cancel() {
  emit("cancel");
}

onBeforeUnmount(() => {
  console.log("beforeUnmount");
});

onUnmounted(() => {
  console.log("unmounted");
});

</script>

路由的跳转

import { useRouter, useRoute } from 'vue-router'

const router = useRouter()
const route = useRoute()//获取上层路由传递的参数

function pushWithQuery(query) {
    //路由跳转
    router.push({
        name: 'search',
        query: { //传递query参数
            ...route.query,//上一层路由参数
        },
    })
}

了解下2级路由与路由传参等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在准备前端找工作时,以下是一些适合练习的知识点: 1. HTML和CSS:掌握HTML和CSS的基本语法和常用标签,了解盒模型、选择器、布局等概念,熟悉响应式设计和常见的CSS框架(如Bootstrap)。 2. JavaScript:掌握JavaScript的基本语法、数据类型、DOM操作、事件处理、异步编程(如Promise和async/await)、面向对象编程等概念,熟悉ES6+的新特性。 3. 前端框架:熟悉至少一种主流前端框架,如Vue.js、React或Angular,理解其核心概念、组件化开发和路由管理,能够使用框架进行项目开发。 4. 网络请求:了解HTTP协议、RESTful API设计原则,能够使用fetch或axios等工具发送网络请求,并处理响应数据。 5. 前端工具链:了解Node.js和npm的基本使用,掌握常用的构建工具(如Webpack或Vite)、打包工具(如Babel)、版本控制工具(如Git)等,能够配置和使用这些工具进行项目开发和部署。 6. 跨平台开发:熟悉移动端开发框架(如React Native或Flutter)或桌面应用开发框架(如Electron),能够开发跨平台的应用程序。 7. 浏览器兼容性:了解不同浏览器的特性和兼容性问题,能够解决常见的浏览器兼容性Bug。 8. 性能优化:了解前端性能优化的基本原则和常用技巧,包括减少HTTP请求数量、压缩和缓存静态资源、懒加载、代码分割等。 9. 调试和测试:熟悉浏览器开发者工具的使用,能够进行调试和排查代码问题,了解单元测试和集成测试的基本概念,能够编写简单的测试用例。 10. 前端安全:了解常见的前端安全漏洞(如XSS和CSRF),并了解相应的防御措施。 以上是一些前端找工作时适合练习的知识点,当然还可以根据具体职位要求和公司需求进行针对性的学习和练习。祝你找到理想的前端工作!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值