- (vue.js官网)[https://cn.vuejs.org/v2/guide/]
- (vue在线编码测试)[https://jsfiddle.net/50wL7mdz/400650/]
- (Scrimba-vue视频学习)[https://scrimba.com/p/pXKqta/cEQe4SJ]
WeX5集成极光推送入门
引入
在项目的index.w
中引入JPushPlugin
插件1
2require("cordova!cn.jpush.phonegap.JPushPlugin");
var JPushInstance = require("./jpush");
此处注意: WeX5 studio 3.6版本中引入的是JPushPlugin版本是2.2.0,最新的版本是3.1.3,可以从JPushPlugin in GitHub更新替换。
扩展JFinal中的MetaBuilder
JFinal简介
JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!
解决思路
JFinal 在使用Generator自动生成JavaBean类的时候,提供了以下方法:
- Generator.addExcludedTable(添加不需要生成的表)
- Generator.setRemovedTableNamePrefixes(设置需要被移除的表名前缀)
- MetaBuilder.isSkipTable(通过继承并覆盖此方法,跳过一些不希望处理的 table,定制更加灵活的 table 过滤规则)
但是并没有提供如果只想生成某些特定表的情况,还好JFinal提供了扩展方法
使用Cordova插件的Hybrid应用
前篇文章如何从一个APP内部打开另一个APP,说了如果从A系统内部打开一个B系统。如果是通过浏览器的方式打开B系统,则会碰到一个问题。
Hybrid应用通常都是通过Cordova插件进行调用移动设备的组件功能的,但是在浏览器当中,Cordova插件是不能使用的。这样就会造成从A系统内部访问B系统的时候,很多依赖Cordova插件的功能就无法使用了。
解决思路
第一种方案:
在B系统中使用Cordova之前先进行判断,判断当前环境是x5app,还是在浏览器当中。如果是x5app则可是正常使用Cordova插件,如果是浏览器环境则使用替代方案。1
2
3
4
5if(justep.Browser.isX5App) {
// invoke cordova-plugin-install
} else {
// invoke browser instead
}
第二种方案:
可以参考UI2/protal/sample中的示例。将A系统和B系统从抽象角度”当做”一个系统来考虑,尽管他们都是可以单独打包运行的。这样,可以通过普通的打开页面的方式链接到B系统。
justep.Shell.showPage(require.toUrl(url));// url:B系统的绝对路径
将A系统打包成APP的时候,它会将B系统的所有资源也打包进去,就把B系统当做A系统的一个w页面就可以了。这里注意:
- B系统中的路径都必须是绝对路径,否则打包的时候会遗漏B系统静态资源
- A系统中使用了ShellImpl进行全局页面映射时,在B系统中就不能在使用ShellImpl了
以上。
如果你有更好的解决思路,请留言,我会及时回复。
wex5-data-bind
在UI2下面新建一个页面如下
1 | define(function(require){ |
this.user和this.say创建了2个监控对象,this.result用于监控对象的计算。
this.user.get()是得到监控对象的值,this.user.set(‘’)是给监控对象的值进行赋值。
我们再content1下面创建HTML(view)代码
1 | <div class="x-panel-content" xid="content1"> |
我们使用bind-value属性将input输入的值绑定到user这个属性上。也即是进行了数据双向绑定。当intput的值发生了变化,则会通知到user。同理user发生了变化,也会实时反映给input的值。bind-text属性的作用则是将result与span的值进行绑定。
将User和sya输入框中的值进行修改之后,再点击空白处,会发现Result的值也发生了相应的变化。
如果想实时的效果,有两种方案:
- 可以将bind-value的值附加一个参数,即将user,改为user,valueUpdate: ‘afterkeydown’。
- 自定义一个属性bind-textInput,将它的值设置为user即可。这是H5新的属性,不过在ide可视化界面中看不到。
本机安装NodeJS环境
Node.js®是一个基于Chrome V8 引擎的 JavaScript 运行时。 Node.js 使用高效、轻量级的事件驱动、非阻塞 I/O 模型。Node.js 之生态系统是目前最大的开源包管理系统。
下载地址:NodeJS 打开页面会根据操作系统自动推荐下载版本。最新推荐版本是v6.10.0LTS,最近更新版本:v7.7.3
1 | 安装过程忽略 |
安装结束之后,打开命令窗口,输入node -v
回车,如果得到nodejs版本信息,则安装成功。否则,检查环境变量是否没有进行配置,手动配置即可。1
2$ node -v
v7.0.0
输入node --help
可以查看命令参数帮助信息。
NPM
是随同NodeJS
一起安装的包管理工具,能解决NodeJS
代码部署上的很多问题,常见的使用场景如下:
- 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
- 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
常用命令:1
2
3
4
5
6npm -v # 显示版本,检查npm是否正确安装
npm install [package_name] # 安装功能模块
npm list # 列出已安装模块
npm show [package_name] # 显示模块详情
npm update [package_name] # 升级模块版本,如果不加模块名,则是升级当前目录下的所有模块版本
npm uninstall [package_name] # 删除指定模块
给大家推荐几个学习网址: