[Vue] 10 - FAQ Pages
总结01-09,并提供一些 code sample。将弱点列出来,逐个击破!

一、Code Sample
演示:https://tigerchain.github.io/vue-lesson/
代码:https://github.com/TigerChain/vue-lesson.git
Vue 的指令
- Hello World
- v-on 事件 # 按钮
- v-if 和 v-for 指令 # 图标切换、json文件显示
- v-show 和 v-model 指令 # v-show的图标切换
- blog-demo # 包含 swal() 弹出层的用法
Vue porops 和 methods
- vue-props # class 绑定与class 对象绑定,props管理参数传递
- vue-method # 在data中也可以调用方法
Vue 的生命周期
- vue-lifecycle # beforeCreate --> created --> beforeMount --> mounted --> beforeUpdate --> updated --> beforeDestroy --> destroyed
rem demo
路由功能
- has-router # hash路由,以及 自定义 new CustomRouter() by 传统写法。
- h5history-router # 传统”回退“写法。
- html-include-vue-router # Vue方式的写法,包括:Vue.extend()
- vue-cli-router-webapp # Vue 路由传参
- has-router # hash路由,以及 自定义 new CustomRouter() by 传统写法。
vue 若干练手 Demo
二、自省总结
- 图标切换的两种方式:v-on 或 v-show
<div v-if="flag" > <div id="showDiv"> 我显示出来了 </div> </div> <!-- 否则显示圆形的 div --> <div v-else> <div id="showBuleDiv"><span style="color:white">哈哈</span></div> </div>
-
v-bind:value
<!-- :value="''" 和 v-model 同时出现会报错-->
Goto: 【vue】input 中v-moel 和v-bind:value 的区别
- 在当下文件中直接定义“子组件”
子组件的引用。
<div id="app2"> <!-- 如果要使用 props 来传递对象,就要使用 v-bind --> <!-- 注意:在这里 age 在 props 中规定了要传入数字类型,这里传入 String 是为了演示效果,正式中使用要按照 age=100 来传入 --> <mycomponent message="你好" :mydata="{username:'tigerchain',age:28}" name-style="color:red" age="100" :clickme="show" /> </div>
<div></div>代表的内容如下:
子组件的 “嵌入式定义”:这里使用了template。
// 定义一个组件 var myComponent = Vue.extend({
// 定义 props 就是一些默认值 props: { message:"", mydata:{}, //样式 ,如果这里使用驼峰标识 ,则在标签中使用就要使用 name-style 传递 nameStyle:{}, // 这里规定传递过来的数据必须是数字,否则后台会报警告 age: Number, clickme:{ type:Function } },
data(){ return { // 可以在数据里面将 props 值赋给 data 值,然后就可以修改这个值,但是原始的 props 中的值是修改不了的 msg:this.message } },
template: '<div>'+ '{{ message }}--{{msg}}'+ '<div>'+ '<span v-bind:style="nameStyle" @click="clickme()">{{ mydata.username}} {{this.age}}</span>'+ '<button @click="clickme(msg)">点击我</button>'+ '</div>'+ ' </div>' })
// 全局注册组件 组件的别名要是小写,否则会报错 Vue.component('mycomponent', myComponent)
给button定义方法,放在了这里。
var vm2 = new Vue({ el:'#app2', methods: { show(msg) { // return () =>{ if(msg){ alert('带回调的参数是:'+msg) }else { alert('没有带参数回调') } // console.log(this,arguments) // } } } })
- hash路由
#表示网页中的位置标识符。
总结的非常好:URL中的hash(井号)
https://www.baidu.com#/login
这里的login,可以是template的名字。
var routerObj = new VueRouter ({
routes: [
{ path: '/login', component: login }
]
})
下面这种是“非法的“,注释掉的第一个是正确的。
源码分析
来,送你一本免费的Vue源码解析! -->《深入剖析Vue源码》
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律