register.vue 注册页面组件

<template>

<div class="wrapper">

<navigate :menuList="menuList" :tabIndexList="tabIndexList" :tabIndex="tabIndex" @tabIndexListNav="tabIndexListNav"></navigate>

<registerBasicInfo v-if="tabIndex.third==0 && tabIndex.second == 0"></registerBasicInfo>

<registerInfo v-if="tabIndex.third==0 && tabIndex.second == 1"></registerInfo>

<registerHistory v-if="tabIndex.third==0 && tabIndex.second == 2"></registerHistory>

</div>

</template>

<script>

import RegisterBasicInfo from ‘../components/registerBasicInfo‘

import RegisterInfo from ‘../components/registerInfo‘

import RegisterHistory from ‘../components/registerHistory‘

import Navigate from ‘../components/navigate/navigate‘

export default {

name: ‘instance‘,

data () {

return {

menuList: [

{

‘name‘: ‘基本信息‘,

‘iconName‘: ‘icon-registerBasicInfo‘

},

{

‘name‘: ‘注册信息‘,

‘iconName‘: ‘icon-registerInfo‘

}, {

‘name‘: ‘历史信息‘,

‘iconName‘: ‘icon-registerHistory‘

}

],

tabIndexList: [{clickIndex: 0, secIndex: 0}],

tabIndex: {second: 0, third: 0}

}

},

methods: {

tabIndexListNav: function (data) {

this.tabIndexList = data

}

},

props: [‘indexNeed‘],

components: {

registerBasicInfo: RegisterBasicInfo,

registerInfo: RegisterInfo,

registerHistory: RegisterHistory,

navigate: Navigate

},

watch: {

$route: {

handler: function (val, oldVal) {

let _this = this;

let flag = false;

if (!this.$route.query.third) {

this.$route.query.third = 0;

this.$route.query.second = 0;

}

this.tabIndex = this.$route.query;

for (let elem of this.tabIndexList) {

if (elem.clickIndex==_this.indexNeed.clickIndex && elem.secIndex==_this.indexNeed.secIndex) {

flag = true

}

}

if (!flag) {

this.tabIndexList.push(this.indexNeed);

this.showIframe = false

}

this.showCloseAll = true;

//created事件触发的函数可以在这里写...

//都是componentA组件,声明周期还在,改变不了

},

deep: true

}

}

}

</script>

<style>

.turnUp i, .turnDown i {

display: inline-block;

width: 16px;

height: 16px;

background-size: cover;

vertical-align: middle;

margin-right: 5px;

}

.turnUp i {

background-image: url("../assets/images/on-green.png");

}

.turnDown i {

background-image: url("../assets/images/off-grey.png");

}

.turnUp span, .turnDown span {

vertical-align: middle;

}

</style>

原文地址:https://www.cnblogs.com/mx2036/p/9415734.html

时间: 2024-08-30 17:36:41

register.vue 注册页面组件的相关文章

Vue框架——页面组件中使用小组件

小组件在components文件夹中,页面组件在views文件夹中 一.先写小组件的vue,比如text.vue(在template设置模板渲染,style设置样式) <template> <div class="text"> <p>tttt</p> </div> </template> <script> export default { name: "text" } </sc

vue 注册全局组件

注册全局组件有啥好处呢? 提高代码的复用性:哪里需要写哪里,贼方便,就写一个标签:减少代码量:可以再配合slot一起使用,咦~~,舒服 为了让整个项目的可读性,我创建一个文件统一存放全局组件 1.创建common文件夹,文件夹用来存放我们所需要的注册的全局组件 此时我们需要一个index.js文件.上代码 [脑补]我已经再common文件夹下创建好了我引入的这两个文件 这里值得注意的是tabs.name 和 tabItems.name 是啥玩意呀! 诶呀  就是组件命名呗   嗯?需要注意吗?

优雅的处理vue注册全局组件

使用情景: 有频繁使用的组件 需要进行全局注册 可以将这些组件都放在components下同一个文件夹下,在此文件夹中建立 一个js文件 代码如下: import Vue from 'vue'; // 修改文件名首字母大写 function changeComponentName (str) { return str.charAt(0).toUpperCase() + str.slice(1); } // 获取当前文件夹下的的组件 // require.context 三个参数 第一个表示读取文

VUE注册局部组件

// 局部组件命名规范 /* 1文件夹名大驼峰 MyLocalBtn.vue 2 使用的时候 将驼峰转化为横杠 <my-local-btn></my-local-btn> */ MyLocalBtn.vue局部组件 <template> <div> <div>我输局部组件---{{valuea}}</div> </div> </template> <script> export default {

vue单文件组件的构建

在很多Vue项目中,我们使用 Vue.component 来定义全局组件,这种方式在很多中小规模的项目中运作的很好. 但当在更复杂的项目中,就有了很大的弊端. 我们就可以用文件扩展名 .vue的单文件组件来解决这些问题. 我们建议你参考 webpack-simple ,只要遵循指示,你就能很快的运行一个用到 .vue 组件 . 这是vue-cli的项目模板. npm install -g vue-cli vue init webpack-simple my-project cd my-proje

unity 登录注册页面数据传递(无数据库)

unity  登录注册页面数据传递(无数据库) 继上一篇随笔.制作unity登录注册页面. 创建一下脚本: 新建脚本"goa"(存储全局变量方便其他脚本的调用): using UnityEngine;using System.Collections; public class goa : MonoBehaviour { //用户名    public const string name = "M_name";    //密码    public const stri

vue基础内容{通信,注册,路由,组件}

ES6常用语法 -- 变量 -- var 变量提升 -- let  {} -- const 常量 -- 模板字符串 -- `` -- ${} -- 函数 -- 箭头函数 -- this -- 普通函数取决于函数最近的调用者 -- 箭头函数取决于当前上下文环境 -- 数据的解构 -- 注意语法 -- 类 -- class 定义类 -- extends 继承 -- constructor 构造方法 -- 子类是没有this的 用super() -- export import -- export {

vue引入全局组件和局部组件的区别以及全局注册公共函数

一,先看看全局组件的引用,就拿最常用的全局的暂无数据来举例,看看全局的是如何实现的. Step1,首先在components创建一个公共的目录,NoDatas目录里边包含index.vue和index.js,index.vue用来写公共的页面,index.js用来导出这个组件. <template> <!-- NoDataWords 可以灵活控制每个页面显示的内容 --> <!-- NoDataHeight 可以灵活控制每个页面的高度 --> <!-- 如果你的页

路飞项目搭建3 TODO注释, 自定义模态框, vue-cookies操作浏览器cookies, 腾讯云短信开发, 代码(登录注册页面,多方式登录,手机是否存在验证接口,腾讯短信开发)

TODO注释 """ 作用:todo是一种特殊的注释,书写就是 # TODO 注释内容,可以在TODO控制台面板快速定位注释位置 """ 自定义模态框 componses/Login.vue <template> <div class="login"> <span @click="close_login">x</span> </div> </