微信小程序, 微信官方已经开放了微信小程序的官方文档和开发者工具。前两天在看相关新闻,了解如何开发小程序。这两天正式文档出来后,我快速浏览了一下,重点是文档的两个部分:框架和组件,然后根据简单的教程,
做了一个常规的todo应用程序。这款app基于微信小程序的平台,实现了todo app的常规功能,同时为了使其更接近实际工作场景,
加载和toast也用于完成一些操作的交互和反馈。这个平台给我的直观感受是,在技术上,它与vue相似,但功能远不如vue;与vue不同的是,
反而感觉更像是骨气。因此,如果你使用过MVC和MVVM框架,如backbone和Vue,你会发现这个平台很容易上手。本文主要介绍了ToToApp实现的一些关键点。
首先添加本文的相关信息:
官方文档:https://MP。微信。QQ。com/debug/wxadoc/dev/index。超文本标记语言
官方开发者工具下载:https://MP。微信。QQ。com/debug/wxadoc/dev/dev tools/download。超文本标记语言
本文中todo应用程序的功能演示:
注意:您需要按住todo的文本才能直接编辑。因为是在手机端,不能用双击事件编辑,改成长按事件。小程序的平台也不提供双击事件的绑定。
相关源码:https://github。com/liuyunzhuge/blog/tree/master/todos/wx
如果您想在本地运行该项目,您需要首先安装开发人员工具,并根据文档中简单教程的描述构建一个项目。项目完成后,开发者工具将打开项目;然后在磁盘上,找到已完成项目的文件夹,并删除里面的所有内容。
粘贴上面源文件夹中的所有文件;然后重新打开开发者工具,首先进入编辑选项卡,然后单击编译按钮,您将直接进入调试界面来检查app的功能:
下面我们来介绍一下这款app开发的要点:
1.这个app的目录结构和配置就不详细介绍了,在文档框架部分有详细描述。这个平台中没有html和css,而是使用wxml和wxss。Wxss几乎与css相同。
缺点是它不如css强大,并且支持的选择器有限。但好处是只有一个平台,微信,所以几乎没有兼容性问题,可以使用标准和更新的css技术。Wxml只能使用平台提供的那些组件的标签。
Html标签不能直接使用。在文档组件一节中可以找到如何在wxml中使用每个组件的示例。所以事实上,wxml和wxss在编写上都没有任何困难。
2.wxml支持以下功能:
在ToToToApp中,除了模板和引用之外,其他所有内容都会使用,但每个功能的每个细节都不会使用,并且只会根据App的需求选择适当的功能。前几天看到一篇文章说微信小程序可能基于vue框架实现。
所以我看了vue的文档。对于数据绑定、条件呈现、列表呈现和事件,可以看到vue的详细用法。相比之下,wxml提供的这些功能与vue类似,但功能没有那么多。
因此,将vue框架的功能直接应用于小程序并不容易。最佳实践仍然基于官方文件中提供的说明。如果官方文档中没有提到的功能是靠猜测来使用的,那肯定行不通。我通过打印看一些物体的原型。
没有比官方文档更多的例子和方法,这表明小程序的框架功能确实有限。
3.wxss实际上可以用less或sass编写,只要选择器符合框架的要求。由于时间关系,我没有在这个应用程序中尝试。
4.没有双向绑定。在vue中,vue实例是一个视图模型;视图层对数据的更新将反馈给模型;实时地;模型的更新也会实时反馈给视图。在小程序中,没有双向绑定。
对视图的更新不会直接与模型同步;您需要在相关事件回调中直接从视图层获取数据,然后通过setData更新模型。applet将在setData之后重新呈现页面。
例如,单个待办事项的操作,切换:
+ View code
在上面的代码中,单个todo项目中checkbox的值是通过e . detail . value【0】获得的,todo的完整状态是通过该值来判断的。最后,在updateData内部,
模型的内容也将通过setData方法刷新。只有这样,应用程序底部的统计数据才会在切换操作后更新。
5.绑定事件时,不能传递参数,只能传递一个事件。比如上面toggle的操作,我真的很想在回调中将当前的todo id传递给这个回调,但我无论如何都做不到。
最后,只能通过id的方式来处理:即在wxml中绑定事件的组件中添加一个id,并且此id在整个页面中不能重复,因此必须将id作为前缀,然后在id的末尾添加todo的id值;当事件被触发时,
您可以通过e.currentTarget.id获取该组件的id,并通过删除相应的id前缀来获取todo的id值。这是目前使用的一种方法,我觉得不太雅观。希望以后能找到更好的实现方式。
6.app中考虑了加载的效果,应该利用按钮组件的加载属性来实现。但是加载只是一个样式控件,它并不控制这个按钮是否可以重复单击。
因此,我们还应该使用buttong的disabled属性来防止重复点击。
其余的实现细节在下面两个文件的源代码中,欢迎您指出问题。
index.wxml的源码:
+ View code
index.js的源代码:
+ View code
最后,我需要补充的是,这个app是在有限的时间内根据微信的官方文件开发的,所以我不知道这里的实现方法是否合理。我只用这个app来了解小程序平台的使用情况。
希望微信官方能推出一些更全面更好的项目demo,在代码层面给我们开发者提供一个优秀的实践规范。欢迎有其他开发思路的朋友帮我指出我以上实现中的问题。
微信小程序嘿,1月9日,微信小程序全面上线,许多科技公司已经蠢蠢欲动。下面小编就给大家推荐一个直接在这个微信小程序上DIY自己照片的小程序:嘿。
嗨图功能:
1.——DIY图片模板。单击它以生成和使用它并与朋友分享。
2.分享Wall ——用户上传的你的DIY作品。
3.立即拨打——。你可以用自己的图片DIY。
4.告诉我——告诉我有关产品改进和内容增加的信息。
想要体验如何制作自己个性化朋友圈照片的用户,在1月9日微信小程序上线后,只需扫描下方二维码即可!你还在等什么?赶快扫码体验,开始你的地图之旅吧!
微信小程序,以上就是本文为您收集整理的微信小程序最新内容,希望能帮到您!更多相关内容欢迎关注。