鱼C论坛

 找回密码
 立即注册
查看: 3419|回复: 29

[庖丁解牛] 000 V Why Vue.js

[复制链接]
发表于 2018-8-27 11:12:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 不二如是 于 2018-8-28 10:26 编辑

1.jpg


没看错,17年创建的专辑,终于要开始更了...

最近在和小甲鱼老师打磨《零基础入门学习Web》(H5&C3)篇(传送门),抽出空闲来填坑~

Vue (读音类似于 view) 是一套用于构建用户界面的渐进式框架。

为什么要开启这个系列呢,理由很简单:
H5+C3+JS是基础的水泥沙子和钢筋,能建楼;Vue是在此基础上演化出的模块,直接组合快速建楼,底层也是前面那些东西,只不过程序员只管用就好。


从某些角度讲,小程序的核心理念和Vue有异曲同工之妙。
(推荐:微信小程序 - 庖丁解牛

官方(传送门)用三个很有气势的句子,描述了Vue的优点:
Snip20180825_98.png


没必要夸了,反正就是使用Vue会让Web开发变得简单

此处友情提醒:
越是简单的东西,越要警惕,很多坑就是这么来的


抛开以后很久很久才会遇到的坑,对于初学者来说Vue还是极其友好滴~

作为系列的第一篇,鱼油只需要了解MVVM模式

angular-polymer-riot-react-vue-ember.png


与很多知名的前端框架Angular、Ember一样,Vue.js在设计上采用MVVM(Model-View-ViewModel)模式。
(还有MVC、MVP...)

View(试图层)发生变化时,会自动更新ViewModel(视图模型),反之亦然。

View和ViewModel之间通过双向绑定(data-binding)建立联系,如下图所示:
1.jpg





对比看不同

光说枯燥的定义很无聊,咱们拿代码说话~

用过JQuery的鱼油,对于其方便的操纵DOM、绑定事件的能力一定大为赞叹~
(JQ相关教程:传送门

比如我们想在网页中插入一个元素(target类),并且添加一个单击事件,就可以这么写:
  1. if(target){
  2.     var btn = $("<button>Hi</button>");
  3.     btn.onclick(function () {
  4.         console.log("Hi");
  5.     });
  6.     $("#app").append(btn);
  7. }
复制代码



Vue就会把上述过程中混合(耦合)在一起的视图业务逻辑看。

通过MVVM模式拆分为数据和视图两部分,只需要关心数据即可,DOM部分Vue帮你搞定:
  1. <div id="app">
  2.     <button v-if="showBtn" v-on:click="handleClick">Hi</button>
  3. </div>
  4. <script>
  5.     new Vue({
  6.         el:"#app",
  7.         data:{
  8.             showBtn:true
  9.         },
  10.         methods:{
  11.             handleClick:function () {
  12.                 console.log("hi");
  13.             }
  14.         }
  15.     })
  16. </script>
复制代码


看不懂没关系,这里只是展示Vue的用法(得瑟一下 ),后面我们来搞定~

是不是和小程序很像,没错小程序采用的是MVC模式。

MVVM是在MVC模式上演化出来滴,不理解没关系,了解一下即可~

最后一点“无关紧要”的说明:
本系列教程假设鱼油已了解关于 HTML、CSS 和 JavaScript 的中级知识。

如果你刚开始学习前端开发,将框架作为你的第一步可能不是最好的主意——掌握好基础知识再来吧!


之前有其它框架的使用经验会有帮助,但这不是必需的。




课后作业


1、MVVM模式由那几个核心部分组成?



答案:
游客,如果您要查看本帖隐藏内容请回复





如果有收获,别忘了评分


                               
登录/注册后可看大图


这位鱼油,如果喜欢Vue,请订阅 专辑传送门)(不喜欢更要订阅



                               
登录/注册后可看大图

评分

参与人数 2荣誉 +3 鱼币 +6 贡献 +3 收起 理由
~风介~ + 3 + 6 无条件支持楼主!
睦ちゃん她爹 + 3

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-27 20:49:16 | 显示全部楼层
身为小白刚刚接触前端框架,正在犹豫Vue和React先学哪个(Angular压根就不打算考虑)……正好看到这个,决定就先学Vue了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-2 13:55:30 | 显示全部楼层
你好大神,我是学习python的web开发的。  
我尝试用django或tornado作为后端,vue作为前端。  
现在遇到的一个问题是,python的web框架的模板语言和vue冲突了。  
因为他们共同的模板语言都是使用{{}}导致后端的程序报错。  
如果我想把vue的{{}}改成两个中括号。能改吗???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-2 14:04:30 | 显示全部楼层
wongyusing 发表于 2018-9-2 13:55
你好大神,我是学习python的web开发的。  
我尝试用django或tornado作为后端,vue作为前端。  
现在遇到 ...

理论上是肯定的可以的哈,vue也是通过正则匹配“{{}}”来操纵DOM

如果前后端分离写,不是太明白为什么会冲突
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-2 15:58:46 | 显示全部楼层
问题主要出在,
在python的web框架运行中使用的模板文件,是会导致后端报错。  
而直接使用浏览器打开模板文件却没有问题。  
文字好难说明这个问题。  
要不我晚上发个例子给你看看。  
我现在在写django搭建博客的书。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-2 16:29:07 | 显示全部楼层
例子的链接例子  
大神,关于这个问题的例子在vue_problem目录中。  
详情都写在README.md了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-4 16:41:26 | 显示全部楼层
wongyusing 发表于 2018-9-2 13:55
你好大神,我是学习python的web开发的。  
我尝试用django或tornado作为后端,vue作为前端。  
现在遇到 ...

https://cn.vuejs.org/v2/api/#delimiters 是这个吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-5 16:03:13 | 显示全部楼层
鹰搏空 发表于 2018-9-4 16:41
https://cn.vuejs.org/v2/api/#delimiters 是这个吗

是的,谢谢了。  
鱼C的小伙伴真给力。  
我之前在vue的源代码里面尝试修改还是不行。  
原来要我们手动新建的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-9 10:20:20 | 显示全部楼层
已看,谢谢老板
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-20 15:24:45 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-11-26 22:55:42 | 显示全部楼层
1.view 2.model 3.viewmodel
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-6 18:47:24 | 显示全部楼层
有web开发找工作的吗?邀请擅长vue的工程师。qq:792414310
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-16 04:16:31 | 显示全部楼层
ADFDSFDF
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-5-23 10:39:37 | 显示全部楼层
s
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-18 10:58:47 | 显示全部楼层
gg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-19 13:33:17 | 显示全部楼层
mark一下  vue是个好东西
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-7 17:11:23 | 显示全部楼层
Happy day!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-22 16:16:51 | 显示全部楼层
model/view/view-model
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-28 13:31:55 | 显示全部楼层
3 model view
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-19 22:27:39 | 显示全部楼层
view viewmodel  model
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-11 10:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表