前端小白入门学习Vue.js,若有不对之处,欢迎指出。若有建议,更是感激涕零,在此谢过!javascript
性能显著:MVVM开发模式对于传统MVC性能强不少,随处可见,所以单页面框架学习必不可少css
相对友好:配置型框架,相比而言Vue不是最好,但对经验不甚丰富的开发者相对友好,暂先选择Vue过渡html
自我反思:web前端发展的狂暴速度带来的汪洋大海不由让刚入行的小白(我),瑟瑟发抖。能够说只会一些jQuery和原生js,最终会被遗弃而苟且于底层外包公司搬砖讨饭。前端
通过近一个月的业余踩坑学习,vue.js算是迈开了第一步有了初步掌握,也作了个小项目。从vue create project项目构建到npm run build打包上线本地服务器,最终pc和移动端都算是跨过去了。但是用HBuilder打包app,本地自建json文档,不知为什么axios请求不到js形成缺乏数据的问题,嗝屁- -vue
之前总听群友说什么vue全家桶,反正我是听都听不懂!java
嘿嘿,学习了vue以后,如今不同了。ios
虽不是科班出身,但也有一颗坚持的心,跪着也要走玩这条路。 由于乔丹代言耐克说: Just do IT!web
我的认为不少官方解释听起来很抽象,第一次听的时候都很难理解,因此经常简化理解ajax
固然我以为全家桶还能够加点料,我所知的element-ui和vantvue-router
刚开始很难理解,一脸懵b,啥是钩子??
文档里常常说起钩子,后来理解成,生命周期钩子就像是利用生命周期,何时干什么事。 好比请求数据就能够在mounted阶段。
附上一张图
组件( Component):就像孩童爱玩的乐高积木,每个组件能够当作一个积木块。可是可能组件更厉害的是这个积木块能够重复用无数次,只要你须要!而每一个组件都要分别开发,或者是从别人造好的轮子里"借鉴"。
组件的三个核心概念:
这里再亮出一张收藏的图
名称 | 对应内容 |
---|---|
数据绑定 | v-bind 缩写为: 前面加了:后面引号的就是表达式了 |
条件判断 | v-if v-else |
事件绑定 | v-on 缩写为@ |
事件修饰符5个 | .stop阻止冒泡,.prevent阻止默认行为,.capture相反冒泡,.self触发本身范围内事件,.once只触发一次 |
遍历数组和对象 | v-for="irem of list" |
计算属性,侦听属性 | 计算属性能干的侦听属性也能干,反之不行,能用计算属性的必定要用计算属性 |
双向绑定 | v-model 只能用于表单类标签 |
<div id="app">
<p>{{msg | filterMsg('疯狂')}}</p>
</div>
<script src="vue.js"></script>
<script> Vue.filter('filterMsg', function (msg,arg) { return msg.replace(/单纯 /g,'帅气'+ arg) }) var vm = new Vue({ el: '#app', data: { msg: '曾经,我也是一个单纯的少年,单纯的不能再单纯。我傻傻的问,谁是世界上最单纯的人' }, }) </script>
复制代码
学的还不深,只得拿出一个比较简单的代码块,上文中钩子函数说放在mounted
mounted () {
axios.get('http://localhost:5000/api/user', {
params: {
id: this.id,
name: this.name,
email: this.email,
}
}).then(response => {
this.users = response.data
}).catch(error => {
console.log(error)
})
}
复制代码
vuex是什么? 官方解释:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式
new Vue({
// state 驱动应用的数据源;
data () {
return {
count: 0
}
},
// view 以声明方式将 state 映射到视图;
template: ` <div>{{ count }}</div> `,
// actions 响应在 view 上的用户输入致使的状态变化。
methods: {
increment () {
this.count++
}
}
})
复制代码
附上官方单项数据流理念的简单示意
多个组件或者多个页面数据共享容易破坏,因此要下面的vuex集中式管理数据
vuex中,有默认的五种基本的对象:
state:存储状态(变量)
getters:对数据获取以前的再次编译,能够理解为state的计算属性。咱们在组件中使用 $sotre.getters.fun()
mutations:修改状态,而且是同步的。在组件中使用$store.commit('',params)。这个和咱们组件中的自定义事件相似。
actions:异步操做。在组件中使用是$store.dispath('')
modules:store的子模块,为了开发大型项目,方便状态管理而使用的。
vuex暂时还没弄太清,之后再把总结细致写出来
小白短浅总结,但愿发出来不挨打哦!
学的越多发现本身懂得又越少,这是这段时间的感悟。
经过这一阶段的vue探索,初步掌握了vue, ES6也稍有所学。 css预处理器stylus,axios。可是vue的道路才刚开始。长路漫漫,惟前端做伴!
ps:stylus是我用的全部css预处理器中体验最爽的!
为了避免吃最少的经济而又挨最毒的打,加油吧,骚年!