VUE

89 阅读1分钟

React创建组件的三种方式及其区别

React推出后,出于不同的原因先后出现三种定义react组件的方式:

  1. 函数式定义的无状态组件
  2. es5原生方式React.createClass定义的组件
  3. es6形式的extends React.Component定义的组件

路由,其实就是指向的意思,也是一种映射

(1)下载安装相关的路由管理器  vue-router

(2)定义路由并配置路由,即编写根组件和路由组件(简单可以理解一个组件就是一个页面)

(3)创建路由器模块

(4)配置路由器

watch监视路由地址的改变

<body>

<div id="app">

<router-link to="/login">登录</router-link>

<router-link to="/login">注册</router-link>

<!-- 容器 -->

<router-view></router-view>

</div>

<script>

//2:创建子组件

var login={

template:'<h3>这是登录子组件,这个组件是 奔波霸 开发的。</h3>'

}

var register={

template:'<h3>这是注册子组件,这个组件是 霸波奔 开发的。</h3>'

}

//3:创建一个路由对象

var router=new VueRouter({

routes:[ //路由规则数组

{path:'/',redirect:'/login'},

{path:'.login',component:login},

{path:'/register',component:register}

],

linkActiveClass:'myactive' //和激活相关的类

})

var vm=new Vue({

el:'#app',

data:{},

methods:{},

//router:routre

router,

watch: {

// this.$route.path

'$route.path': function (newVal, oldVal) {

// console.log(newVal + ' --- ' + oldVal)

if (newVal === '/login') {

console.log('欢迎进入登录页面')

} else if (newVal === '/register') {

console.log('欢迎进入注册页面')

}

}

}

});

</script>

</body>