<template> <div> <van-swipe :autoplay="3000" lazy-render> <van-swipe-item v-for="image in images" :key="image"> <img :src="image" width="100%" height="400rpx" /> </van-swipe-item> </van-swipe> <!-- 登陆注册input组件 --> <van-cell-group inset> <van-field v-model="username" name="用户名" label="用户名" placeholder="用户名" /> <van-field v-model="password" type="password" name="密码" label="密码" placeholder="密码" /> </van-cell-group> <div style="margin: 16px;"> <van-button round block type="primary" native-type="submit" @click="onSubmit">提交</van-button> </div> </div> </template> <script> export default { name: "MyLogin", setup() { const images = [ "https://fastly.jsdelivr.net/npm/@vant/assets/apple-1.jpeg", "https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg", ]; return { images }; }, methods:{ onSubmit(){ this.$router.push('/SignIn') } }, data(){ return { username:'', password:'' } } }; </script>跳转不了页面
时间: 2024-04-23 10:22:03 浏览: 147
你的代码中使用了`setup()`函数,这个函数是Vue 3中的一个新特性,用于设置组件的响应式数据和方法。但是,这个函数不能直接访问组件实例,因此无法使用`this.$router`进行页面跳转。
如果你想要在组件中使用`this.$router`进行页面跳转,可以使用Vue 2.x中的方式,在`export default`中定义`methods`对象,然后在方法中使用`this.$router.push('/SignIn')`进行跳转。
修改代码如下所示:
```
<template>
<div>
<van-swipe :autoplay="3000" lazy-render>
<van-swipe-item v-for="image in images" :key="image">
<img :src="image" width="100%" height="400rpx" />
</van-swipe-item>
</van-swipe>
<!-- 登陆注册input组件 -->
<van-cell-group inset>
<van-field
v-model="username"
name="用户名"
label="用户名"
placeholder="用户名"
/>
<van-field
v-model="password"
type="password"
name="密码"
label="密码"
placeholder="密码"
/>
</van-cell-group>
<div style="margin: 16px;">
<van-button round block type="primary" native-type="submit" @click="onSubmit">提交</van-button>
</div>
</div>
</template>
<script>
export default {
name: "MyLogin",
methods: {
onSubmit() {
this.$router.push('/SignIn')
}
},
data() {
return {
username: '',
password: '',
images: [
"https://fastly.jsdelivr.net/npm/@vant/assets/apple-1.jpeg",
"https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg",
]
}
}
};
</script>
```
这样就可以正常进行页面跳转了。
阅读全文