Expression expected.Vetur(1109) 报错
这里发现报错,关闭vscode重启也还是有问题。
后面发现其实这句是typescript定义类型的语法,是因为我将代码写在<script></script>里面,使用ts语法需要表明lang="ts"即将代码写在<script lang="ts"></script>将不会报错
说明一下这句代码的含义(自己理解,如有不对请指正):
组件是一个对象,它只是对组件的描述,类似于类;我们想要在另一个组件中使用不是使用组件对象而是根据组件对象创建出来的真正实例--<login-account ref="accountRef" />
我们想要在组件中调用其他组件的方法等就需要这个对象实例const accountRef = ref<InstanceType<typeof LoginAccount>>()通过accountRef .value?.方法名()来调用
-
<template>
-
<div class="login-panel">
-
<h1 class="title">后台管理系统</h1>
-
<el-tabs type="border-card" stretch v-model="currentTab">
-
<el-tab-pane name="account">
-
<template #label>
-
<span><i class="el-icon-user-solid"></i> 账号登录</span>
-
</template>
-
<login-account ref="accountRef" />
-
</el-tab-pane>
-
<el-tab-pane name="phone">
-
<template #label>
-
<span><i class="el-icon-mobile-phone"></i> 手机登录</span>
-
</template>
-
<login-phone ref="phoneRef" />
-
</el-tab-pane>
-
</el-tabs>
-
-
<div class="account-control">
-
<el-checkbox v-model="isKeepPassword">记住密码</el-checkbox>
-
<el-link type="primary">忘记密码</el-link>
-
</div>
-
-
<el-button type="primary" class="login-btn" @click="handleLoginClick"
-
>立即登录</el-button
-
>
-
</div>
-
</template>
-
-
<script lang="ts">
-
import { defineComponent, ref } from 'vue'
-
import LoginAccount from './login-account.vue'
-
import LoginPhone from './login-phone.vue'
-
-
export default defineComponent({
-
components: {
-
LoginAccount,
-
LoginPhone
-
},
-
setup() {
-
// 1.定义属性
-
const isKeepPassword = ref(true)
-
const accountRef = ref<InstanceType<typeof LoginAccount>>()
-
const phoneRef = ref<InstanceType<typeof LoginPhone>>()
-
const currentTab = ref('account')
-
-
// 2.定义方法
-
const handleLoginClick = () => {
-
if (currentTab.value === 'account') {
-
accountRef.value?.loginAction(isKeepPassword.value)
-
} else {
-
console.log('phoneRef调用loginAction')
-
}
-
}
-
-
return {
-
isKeepPassword,
-
accountRef,
-
phoneRef,
-
currentTab,
-
handleLoginClick
-
}
-
}
-
})
-
</script>
-
-
<style scoped lang="less">
-
.login-panel {
-
margin-bottom: 150px;
-
width: 320px;
-
-
.title {
-
text-align: center;
-
}
-
-
.account-control {
-
margin-top: 10px;
-
display: flex;
-
justify-content: space-between;
-
}
-
-
.login-btn {
-
width: 100%;
-
margin-top: 10px;
-
}
-
}
-
</style>
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfkcjic
系列文章
更多
同类精品
更多
-
Visual Studio 2022 首次安装出现 fatal error C1083: 没办法打开包括文件:“crtdbg.h”: No such file or directory
-
这才是完美的答案--解决CMake时“could not find any instance of Visual Studio”的问题
-
visual studio 2022VS 2022没办法读取内存的问题
-
opencv4.5.4 + VS2022 的开发环境搭建
-
使用visual studio 2022 启动后台程序的报错 ID为xxx的进程当前未运行
-
C++使用boost::filesystem实现遍历文件夹内文件
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13