本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2024-11(2)

学习Vue的第一天

发布于2021-03-07 21:40     阅读(1475)     评论(0)     点赞(26)     收藏(4)


目录

 

1.认识Vuejs

2.Vue.js安装

3.Vue初体验

3.1.Hello Vuejs

3.2.Vue列表显示

3.3.案例:计数器

4.Vue的MVVM

4.1.Vue中的MVVM

4.2.计数器的MVVM

5.Vue的options

6.Vue的生命周期


1.认识Vuejs

Vue (读音 /vjuː/,类似于 view),不要读错。

Vue是一个渐进式的框架,什么是渐进式的呢?

  • 渐进式意味着你可以将Vue作为你应用的一部分嵌入其中,带来更丰富的交互体验。
  • 或者如果你希望将更多的业务逻辑使用Vue实现,那么Vue的核心库以及其生态系统。
  • 比如Core+Vue-router+Vuex,也可以满足你各种各样的需求。

Vue有很多特点和Web开发中常见的高级功能 解耦视图和数据 可复用的组件 前端路由技术 状态管理 虚拟DOM 


2.Vue.js安装

安装Vue的方式有很多:

方式一:直接CDN引入 你可以选择引入开发环境版本还是生产环境版本

  1. <!-- 开发环境版本,包含了有帮助的命令行警告 -->
  2. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  3. <!-- 生产环境版本,优化了尺寸和速度 -->
  4. <script src="https://cdn.jsdelivr.net/npm/vue"></script>

方式二:下载和引入

开发环境 https://vuejs.org/js/vue.js

生产环境 https://vuejs.org/js/vue.min.js

方式三:NPM安装

后续通过webpack和CLI的使用,我们使用该方式。


3.Vue初体验

3.1.Hello Vuejs

 

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <div id="app">
  9. <h2>{{message}}</h2>
  10. <h1>{{name}}</h1>
  11. </div>
  12. <div>{{message}}</div>
  13. <script src="../js/vue.js"></script>
  14. <script>
  15. //声明式编程
  16. const app = new Vue({
  17. el: '#app', //用于要挂载要管理的元素
  18. data: { //定义数据
  19. message: '你好,Vue!',
  20. name:'xxh'
  21. }
  22. })
  23. //元素js的做法(编程范式:命令式编程)
  24. //1.创建div元素,设置id属性
  25. //2.定义一个变量叫message
  26. //3.讲message变量放在前面div元素中显示
  27. //4.修改message数据
  28. //5.将修改后的数据再次替换div元素
  29. </script>
  30. </body>
  31. </html>

3.2.Vue列表显示

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <div id="app">
  9. <ul>
  10. <li v-for="item in movies">{{item}}</li>
  11. </ul>
  12. </div>
  13. <script src="../js/vue.js"></script>
  14. <script>
  15. const app=new Vue({
  16. el:'#app',
  17. data:{
  18. message:'你好!',
  19. movies:['星际穿越','大话西游','少年派','盗梦空间']
  20. }
  21. })
  22. </script>
  23. </body>
  24. </html>

3.3.案例:计数器

语法糖就是一些代码的简写

 

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <div id="app">
  9. <h2>当前计数:{{counter}}</h2>
  10. <!-- <button v-on:click="counter++">+</button> -->
  11. <!-- <button v-on:click="counter--">-</button> -->
  12. <button v-on:click="add()">+</button>
  13. <button v-on:click="sub()">-</button>
  14. </div>
  15. <script src="../js/vue.js"></script>
  16. <script>
  17. const app=new Vue({
  18. el:'#app',
  19. data:{
  20. counter:0
  21. },
  22. methods:{
  23. add:function(){
  24. console.log('add被执行');
  25. this.counter++
  26. },
  27. sub:function(){
  28. console.log('sub被执行');
  29. this.counter--
  30. }
  31. }
  32. })
  33. //1.拿button元素
  34. //2.添加监听事件
  35. </script>
  36. </body>
  37. </html>


4.Vue的MVVM

4.1.Vue中的MVVM

什么是MVVM呢?

通常我们学习一个概念,最好的方式是去看维基百科(对,千万别看成了百度百科)

https://zh.wikipedia.org/wiki/MVVM

维基百科的官方解释,我们这里不再赘述。

 

 

View层:

视图层 在我们前端开发中,通常就是DOM层。 主要的作用是给用户展示各种信息。

Model层: 数据层 数据可能是我们固定的死数据,更多的是来自我们服务器,从网络上请求下来的数据。 在我们计数器的案例中,就是后面抽取出来的obj,当然,里面的数据可能没有这么简单。

VueModel层: 视图模型层 视图模型层是View和Model沟通的桥梁。 一方面它实现了Data Binding,也就是数据绑定,将Model的改变实时的反应到View中 另一方面它实现了DOM Listener,也就是DOM监听,当DOM发生一些事件(点击、滚动、touch等)时,可以监听到,并在需要的情况下改变对应的Data。

4.2.计数器的MVVM

我们的计数器中就有严格的MVVM思想

View依然是我们的DOM ,Model就是我们我们抽离出来的obj ,ViewModel就是我们创建的Vue对象实例

它们之间如何工作呢?

  • 首先ViewModel通过Data Binding让obj中的数据实时的在DOM中显示。
  • 其次ViewModel通过DOM Listener来监听DOM事件,并且通过methods中的操作,来改变obj中的数据。
  • 有了Vue帮助我们完成VueModel层的任务,在后续的开发,我们就可以专注于数据的处理,以及DOM的编写工作了。
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <div id="app">
  9. <h2>当前计数:{{counter}}</h2>
  10. <!-- <button v-on:click="counter++">+</button> -->
  11. <!-- <button v-on:click="counter--">-</button> -->
  12. <button v-on:click="add()">+</button>
  13. <button v-on:click="sub()">-</button>
  14. </div>
  15. <script src="../js/vue.js"></script>
  16. <script>
  17. const obj={
  18. counter:0
  19. }
  20. const app=new Vue({
  21. el:'#app',
  22. data:obj,
  23. methods:{
  24. add:function(){
  25. console.log('add被执行');
  26. this.counter++
  27. },
  28. sub:function(){
  29. console.log('sub被执行');
  30. this.counter--
  31. }
  32. }
  33. })
  34. //1.拿button元素
  35. //2.添加监听事件
  36. </script>
  37. </body>
  38. </html>

 


5.Vue的options

这个options中可以包含哪些选项呢

详细解析: https://cn.vuejs.org/v2/api/#%E9%80%89%E9%A1%B9-%E6%95%B0%E6%8D%AE

el: 类型:string | HTMLElement 作用:决定之后Vue实例会管理哪一个DOM。

data: 类型:Object | Function (组件当中data必须是一个函数) 作用:Vue实例对应的数据对象。

methods: 类型:{ [key: string]: Function } 作用:定义属于Vue的一些方法,可以在其他地方调用,也可以在指令中使用。

.


6.Vue的生命周期

 

 

 




所属网站分类: 技术文章 > 博客

作者:加油打工人

链接:http://www.qianduanheidong.com/blog/article/33540/f273ce05432af6928df0/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

26 0
收藏该文
已收藏

评论内容:(最多支持255个字符)