Vue第一节--入门基础篇

标题 一 Vue入门介绍

vue不提倡dom操作
提倡MVVM设计模式

M => model
V => View
VM => viewModel

标题二 解决插值表达式闪烁的问题

 [v-cloak]{
    display: none;
    }

标题三 常见指令

v-on:绑定方法
v-if:判断
v-for:循环
v-bind:绑定属性

标题四 事件修饰符

.once 只触发一次事件处理函数,之后就失效了
.self 只有点击当前元素时才会触发
.prevent 阻止标签默认行为的事件修饰符

     @click.prevent.once="aHandler"
     @click.self="divHandler"
     @click.prevent.stop="aHandler"

标题五 常见vue使用管理插件

Vue Router 是 vue 官方的路由
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式
Vue Loader 是为 vue 文件定制的一个 webpack 的 loader
Vue Test Utils 是官方提供的一个单元测试工具
Vue Dev-Tools Vue 在浏览器下的调试工具
Vue Cli 是官方提供的一个 vue 项目脚手架 它帮你分装了大量的 webpack、babel 等其它配置
Vetur 是 VS Code 的插件. 如果你使用 VS Code 来写 vue 的话,这个插件是必不可少的

标题六 跑马灯效果

html

	<div id="app">
    <input type="button" value="浪起来" @click="start">
    <input type="button" value="低调" @click="stop">
    <h4 v-text="msg"></h4>
	</div>

js
viewModel

   new Vue({
        el: '#app',
        data: {
            msg: '猥琐发育别浪~!,稳住我们能赢',
            intervalId: null
        },
        //想要调用对象中的方法或属性需要用this.调用
        methods: {
                start:function () {
                    if(this.intervalId == null) {
                        //设置定时器
                        //新的写法,内部的this与外部的this会保持同步
                        this.intervalId = setInterval(() => {
                            var start = this.msg.substring(0, 1)
                            var end = this.msg.substring(1)
                            this.msg = end + start
                        }, 100)
                    }
                    return
                },
                stop() {//函数的新写法
                    clearInterval(this.intervalId)
                    this.intervalId = null//清除定时器对象
                }
        }
    })

标题七 watch监听属性实现登录注册功能

1 导入包


    	<script src="../static/js/vue-2.4.0.js" type="text/javascript" charset="utf-8"></script>
		<script src="../static/js/vue-router.js" type="text/javascript" charset="utf-8"></script>

2 view视图

		<div id="app">
			<router-link to="/login" tag="button">登录</router-link>
			<router-link to="/register" tag="button">注册</router-link>
			<router-view></router-view>
		</div>

3 template

		<template id="login">
			<h2>登录页面</h2>
		</template>
		<template id="register">
			<h2>注册
		</template>

4 model业务层


		var login = {
			template: "#login"
		}
		var register = {
			template: "#register"
		}
		
		var router = new VueRouter({
			routes: [
				{
					path: "/login",
					component: login
				},
				{
					path:"/register",
					component:register
				}
			]

		})
		

5 viewmodel

var vm = new Vue({
			el:"#app",
			data:{},
			methods:{},
			router:router,
			watch:{
				//监听路由属性$router.path
				'$route.path':function(newVal,oldVal){
					if(newVal == '/login'){
						alert("欢迎进入登录页面")
					}
					else if(newVal == '/register'){
						alert("欢迎进入注册页面")
					}
				}
			}
			
		})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值