4. 事件 事件处理函数定义在page中,与/data同级
事件以 bind 开头,或后接事件类型,例如
bind事件绑定不会阻止冒泡事件向上冒泡,但是绑定可以阻止冒泡事件向上冒泡。
事件参数传递:事件参数传递不能在事件处理中通过()进行,在组件中通过自定义属性data-xx="参数名"进行定义,在事件处理函数中通过..来获取参数。
活动官方文档
5.修改data中的数据
在vue中,修改data里的数据,直接用[this.]就可以修改,但是对于小程序就不一样了,需要通过[this.({ data: })]来修改,而访问data里的数据,是用[this.data.xx]。我刚开始学小程序的时候,习惯了[vue](/)的写法,一直用vue的方式写,很不适应。
6. 自定义组件
使用uni-app开发小程序有哪些优缺点?
基于Vue,优化了Vue的实现,之前经常用来开发小程序,后来停止维护了,生态更广,也有云端开发,但由于多端兼容,有时候个别平台需要处理的项目比较多。
为什么我学了Vue之后感觉自己的编程能力下降了?
这几天因为一个项目被迫用上了Vue,用Vue开发小程序到底好不好用?说实话Vue和传统的网站开发思路不一样,这就导致了现在的现状是爱用的人爱得要死,老程序员却烦得要死。
主要区别:
1 传统方法:我们做网站,首先建立若干个文件夹(css、js等),将页面需要的资源文件放入各自的文件夹中。然后建立若干个HTML页面,并将这些页面链接在一起。如果网页中需要什么事件或者效果,要么使用原生的js,要么操作某个dom来实现页面的变化。
调试也很简单,如果是静态网页,浏览器直接运行调试器就可以了,对于asp、jsp、php等动态网站,简单配置iis或者--就可以直接调试了。
2vue(这里以vue脚手架为例):
Vue 和传统最大的区别在于,Vue 只有一个 HTML 页面(也就是入口页面,你也可以理解为主页面)。除了主页面,其他页面都是 HTML 片段,存在于后缀为 .vue 的片段文件中。用户访问网站时,第一次加载的是完整的主页面,后续的点击其实只是 HTML 片段的变化。(有点像老程序员理解的局部刷新)
因此 Vue 特别适合用来做移动端项目,因为它只需要根据用户的点击来加载需要的片段,不需要一页一页的去请求新的网页,这样的机制让移动端项目运行起来非常顺畅。
但优点也是它的缺点,Vue项目的特性决定了它并不适合用来搭建网站,稍有SEO常识的人都明白,用这种机制搭建的网站,机器人根本抓取不到任何内容。
我也吐槽一下Vue的部署,部署起来很麻烦,首先需要安装,可以暂时把它看成类似IIS的网站发布容器,因为只有在下面才能调试Vue的脚手架项目。
安装完之后在cmd命令行里通过npm命令安装很多各种库插件。
完成这些工作后,你就可以通过一个命令创建一个 Vue 脚手架并开始你的项目开发之旅了。
很多资深程序员对“vue 脚手架”这个词感到很困惑,简单来说:上面所有的麻烦,其实就是最后敲一个命令,让系统帮你在指定位置建立一组文件夹,然后把 vue 能用到的各种 js(上百个)组件都放在这些文件里,供你开发时调用。
相对于你之前的操作来说,就相当于:你建立一个文件夹,把js文件夹里面放进去,你常用的js。
所以这套步骤一开始并不是我习惯的,可能很多资深程序员也不习惯,感觉就像“要做小项目,先部署大工厂”。
很多资深程序员其实都是从小项目做起的草根,百万级的爆发、团队协作、前后端分离等话题并不是这些程序员关心的,他们往往既是美工又是程序员,既是前端又是后端,几乎都以快速交付项目为重心,不愿意为环境而挣扎,所以一时无法适应 Vue 的开发模式。
另外如果你的项目定制程度较高的话,我个人还是建议使用传统的独立HTML开发方式。
如果你是针对移动端开发的话,Vue 确实是最好的选择。顺便说一句,Vue 和小程序几乎是同一个套路,懂一个就可以两个都掌握。
我也花了两天时间才从被拒绝到被接受。到目前为止,它运行良好。
使用框架并不会让你的技术变差,相反,框架可以让你更加方便、快捷的实现某些功能。
框架的出现让开发变得更加简单。试想一下,如果 Vue 没有支持,你还会用它吗?用 Vue 开发小程序好不好?各种依赖、配置都需要自己手动搭建,你会把大量的时间花在无用的东西上,而忽略了可能需要实现的需求。
如果你觉得使用各种框架降低了自己的能力,那么只能说你的能力还有待提高。
要提升自己的技能,你不需要了解很多编程语言,你需要了解其中的思想。那么在使用 Vue 的时候,你有没有想过,Vue 为什么这样设计,这样设计有什么好处,如果是我,我会怎么设计?
如果你专注于前端开发,你可以尝试自己实现一个vue来提高你的技能。
我问提问者一个问题:用了之后,你感觉自己的技术有没有下降?
一些个人观点,欢迎讨论用Vue开发小程序好不好!
我是一个写框架、重新发明轮子的程序员。框架的出现确实削弱了程序员的能力,让他们变成了框架操作者。比如,框架的出现让后端开发人员不需要知道TCP的底层原理,不需要知道如何使用条件变量、信号量、共享内存实现进程间通信。但是,框架让我们的开发更加高效。提问者可以反过来想:Java C的出现降低了我们对计算机底层指令的理解,那我们为什么不使用汇编编程呢?不要太在意技术本身,能达到目的才是好技术。
大家要记住:互联网就像建筑,程序员和水泥工都只是行业底层,当我们追求技术的时候,想想水泥工在外人面前比拼砌砖技术的场景,就不会对此念念不忘。
Vue 是三大前端框架之一,在日常开发工作中,它可以帮助我们快速搭建前端框架,快速启动项目进入细节开发,使用久了之后,会对框架产生比较强的依赖性。
我们都知道,人生有三个境界:第一个境界是看山是山,看水是水;第二个境界是看山不是山,看水不是水;第三个境界是看山是山,看水是水。按照这个境界来,其实你已经到达了第二个境界。
开发能力也主要分为三个层次。
1.从头开始,手工开发。
这个级别是初学者,这时候你可能只懂HTML、CSS、js,还不知道背后的框架,所以需要自己搭建框架,自己写页面路由,手动完成页面适配。这时候页面上一个轮播图恐怕就够你绞尽脑汁了,写这个轮播图可能要花上一天甚至更长时间。
这个阶段就像小时候学走路的阶段,学会走路才能跑才能跳。记得我学前端的时候,这个第一阶段我很苦恼,为什么一个简单的页面,一个组件,一个下拉框,一个三级菜单栏,我花了好长时间才写出来?过了这个阶段,一切都明朗了。
2.应用框架、插件、快速开发。
经历了第一阶段之后,慢慢接触到了应用框架和一些组件,就拿 Vue 来说,可能启动一个项目只需要十分钟,第一阶段可能需要两三天才能搭建好一个项目。
那你就不用自己写很多组件了,有丰富的前端UI组件,比如轮播、页面自适应布局、各种按钮,直接拖拽就可以搞定,分分钟搞定。
这时候你的工作已经进入了舒适区,达到了自我满足的状态,但是你不知道,在这种状态下,一不小心,就可能就浪费在这里了,还有第三个层次在等着你。
3. 从头开始,用你的双手建造轮子。
到这里可能有人会问,这也是从能量开始的啊,为什么和第一层不一样呢?
那确实不一样。过了第二关之后,为什么还要再从头开始呢?这不是退步,而是进步。到了第二阶段,你会发现你辛苦的付出已经不能满足你的开发需求了。因为这里很多开发都局限于这些框架。如果你想打造出不一样的风格,就需要从头开始重新发明轮子。
你需要用原生的底层东西去创造你自己的东西,去写你自己的框架,你自己的组件。你写的这些东西是你独有的,不再和别人一样。
当然,这第三层境界并不是那么容易达到的,有的人需要三五年,有的人则需要几十年。
所以当你熟练使用这些框架之后,你发现你的编程能力变弱了。这是在告诉你,你需要学习更多,这样你才能顺利达到开发的第三级。
Vue 是一个把问题复杂化,让你忘记目的的东西。面试的时候遇到过精通 Vue 却直接pass 的。这样的人没什么用。
Vue 的世界就是组件,闭门编程的时代结束了,我们只需要更方便的实现功能就行了。类比制造业,不能说我要造车,就得先去矿山,炼铁,种橡胶,减少的是不必要的产能,比如采矿产能,耕地产能,什么框架能提高我们的效率,就是最好的框架。
坚持使用 JSP + H5
为什么你没有意识到呢?让你丧失能力的,是你的懒惰和缺乏学习的欲望,而不是一个好的框架。框架的初衷是为了提高生产力,减轻开发者的压力,提高开发者的幸福感,和帮助你提高编程水平没有直接的联系。对于那些已经足够优秀的人来说,他们有资格让自己的工作更快乐,他们甚至通过自己开发了很多优秀的工具框架来实现这个目标,但技术相对较差的人,除非他们不想提高,否则就没有这个资格。所以,你的问题很不合逻辑。如果拥有一把枪让你的战斗能力下降,那是你的问题,而不是枪的问题;如果拥有一辆车让你的运动能力下降,那也是你的问题,而不是车的问题。你可以坦然接受这种下降,不要觉得这是坏事,但请不要让一个工具替你背黑锅!
不是 Vue 让你的能力下降了,而是你本来就不擅长。很多学习 Vue 的人对它只是一知半解,做了简单的增删改查就以为自己熟练了。甚至连 HTML、CSS、JS 的基础都学的飞快,没有掌握好,就拿起 Vue 这样的框架,没有现成的组件库,什么都不会写。Vue 的目的并不是取代这些基本功,而是为有能力的人提供更便捷的工具。也有人批评它过时了,可能是因为连 Vue 和 Vue 的本质区别都没搞清楚,不知道适合的场景。不是 Vue 让人的能力下降了,而是你从来没有接触过复杂的需求,或者因为你能力弱,所以不会给你接触复杂需求的机会。
这个问题就像用着用着感觉自己对原生 JS 的理解越来越浅薄。框架和库本是为了帮助我们提高开发效率,但往往让我们忽略了本质的技术,这就是问题所在。所以用久了,当你抛开库和框架,你会发现自己写不出代码了。
Vue 与小程序的比较
Vue 的钩子函数:
:创作前
: 创造
:安装前
: 山
:变更前
: 改变
:破坏前
: 破坏
小程序的钩子函数:
:页面加载
:页面显示
:页面初始渲染完成
: 页面隐藏
:页面卸载
Vue 通常以 或 形式请求数据,而在小程序中则以 或 形式请求数据
Vue 在将变量的值动态绑定到元素的属性时,会在变量前面添加冒号:
小程序在将变量值绑定到元素属性时,会用两个花括号括起来。
Vue 使用v-if和v-show控制元素的显示与隐藏
小程序使用wx-if控制元素的显示与隐藏
Vue 使用 v-on: 来绑定事件,或者使用 @ 来绑定事件,以及 @.stop 来阻止事件冒泡
小程序使用(bind+)或者(+)绑定事件,防止事件冒泡
在vue中如下:
小程序如下:
在vue中的form元素上添加v-,然后在data中绑定对应的值
在小程序中通过this.({key:})将表单上的值赋值给数据中对应的值。
在Vue中,需要传递的数据需要在触发事件的方法中作为参数传递。