Vue的基础知识

234 阅读1分钟

样式添加

1、:class直接绑定样式

通过对已写好的样式做判断,决定是否添加该样式

<div :class={active: ifture}>样式</div>
//其中active就是已经定义好的样式

2、数组样式添加法

实际上就是用变量代替样式名,然后引用这些变量

<div v-bind:class="[activeClass, errorClass]"></div>
//数组中的每一个变量都定义了一个样式
<div v-bind:class="[isActive ? activeClass : '', errorClass]"></div>
//引申用法

等价添加方法--内联添加

我们还可以不使用变量添加样式,而是直接在数组中添加样式

<div v-bind:style="[baseStyles, overridingStyles]"></div>

3、内联样式:style

以上两种都是对样式的引用,而内联样式可以单独针对某一个属性进行修改

<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
//样式属性为驼峰式

路由

前端路由就是根据不同的用户事件显示不同的页面内容,本质上就是用户事件和事件处理函数之间的对应关系

window.onhashchange=function(){
    location.hash获得最新的hash值
    这是一个手动的简易前端路由
}

Vue Router

1、添加路由连接
<router-link to="/user">User</router-link>
2、添加路由填充位
<router-view></router-view>
const User={
    template:'<h1>这是</h1>'
}
配置路由规则并创建路由实例
var router =new VueRouter({
routes:{
    {path:'/',redirect:'/user'},实现路由重定向
    {path:'/user',component:User},
    {path:'/register',component:Register,children:[{
    path/////}]}
}
})
最后要将创建的路由挂载到Vue根实例中
new Vue({
el:'#app',
router
})

动态路由匹配

var router =new VueRouter({
    routes:[
    {path:'/user/:id',component:User}]
})
const User={
    template:'<div>{{$route.params.id}}</div>'
    可以获得动态匹配参数
}

路由组件传递参数

var router =new VueRouter({
    routes:[
    {path:'/user/:id',component:User,props:true},
    {path:'/user/:id',component:User,props:{username:'lisi'},
     {path:'/user/:id',component:User,props:route=>{{username:'lisi',id:route.params.id}
    ]
})
第一种传参
const User={
    props:{'id'}, 用props接收路由参数
    template:'<div>{{id}}</div>'
}
第二种传参
const User={
    props:['username','age'],
    template:'<div>{{username}}</div>'
}

编程式导航

通过api实现页面跳转
$router.push('/register')
$router.go()