截图版本UE5.2
如果有不明白的,欢迎留言或者给我 发邮件[Send Email]
比如安装32位的Oracle客户端:
文件名称大致:win32_12201_client.zip
文件太大,放某云了,如果链接失效,留言或邮件我即可
链接: https://pan.baidu.com/s/1Cp-rB_1NFDxgDi4pV00jxQ 提取码: xpn4
解压,双击setup.exe
。
等待安装索引文件,选择管理员
模式
一路下一步,完成安装
配置环境变量及tnsname.ora
文件(根据自己的安装路径配置)
配置ORACLE_HOME
指向Oracle的安装路径,客户端的比如D:\app\client\Lenovo\product\18.0.0\client_1
配置TNS_ADMIN
指向D:\app\client\Lenovo\product\18.0.0\client_1\Network\Admin
添加tnsname.ora
文件到TNS_ADMIN
路径下,内容如下:
1 | ORCL_DATASOURCE = |
从开始中找到Oracle-....
文件夹中的Net Manager
配置Oracle服务
Oracle Net配置
–服务命名
,点击右侧的+
新建一个服务配置ORCL_DATASOURCE
TCP/IP(Internet协议)
192.168.1.123
orcl
即可,比如上面的ORCL
测试
,提示失败,点击右下角的更改登录
,输入Oracle数据库的登录账号和密码(在安装Oracle时的账号),再测试注册注意事项:
注册注意事项:
在做项目时,遇到了有时地图不能拖动的问题,一开始以为是ArcGIS for JavaScript使用不当造成的,连调好长时间,发现代码并未有问题。加断点,写LOG,查看DOM触发时的代码走向。发现在绑定的函数中的LOG打印了多次,这很不正常啊。
思考出现多次的原因:1)DOM重复创建了;2)监听是不是多绑定了。
针对两个问题,检查发现确实是多次绑定导致的,首先想到的是方案一,查完资料找到了方案二。
方案一
最简单的方法就是放在外围,不用每次都设置监听,这样做的好处是不用每次都去绑定,只在初始化时完成监听,增加了初始化时的运算量。
方案二
冲了会浪,找到另一个解决办法,这样可以根据什么时候需要设置监听而随时绑定,方法接着往下看~
问题示例:
1 | function doSomeThing (e) { |
上面的代码会在触发时执行两次,并不是我们想看到的,我们本想预料的是执行一次绑定的函数,完成时间监听的闭环。
问题永远不会偶然并单独出现,你遇到了,别人肯定也会遇到,方案也会有很多,以下是别人的解决方案。
1 | function doSomeThing (e) { |
在接收监听函数时使用实名函数,不要使用匿名函数,不然都没办法取消事件监听。
由于MySQL在版本升级后,验证加密的方式改变了,在使用Navicat连接时会报错,因此下记录解决方法。
当使用docker的MySQL时,遇到了navicat无法连接mysql的情况,给出了两种解决方法,一是升级navicat驱动,暂时跳过该方法;二是修改mysql密码校验方式。
1 | # 首先启动docker的mysql数据库服务 |
使用Navicat连接mysql数据库成功。
从Docker仓库中下载的容器,由于需要进行自定义设置,但是环境却没有提供能编辑的功能,连VIM都未提供,记录在设置MySQL时遇到没有VIM环境的解决方法。
当使用docker的MySQL时,遇到了navicat无法连接mysql的情况,给出了两种解决方法;
当时想看看mysql容器的配置文件,结果使用vim
都报1
bash: vi: command not found
显然是mysql基于的Linux容器没有安装vim,下面来联网安装一下:1
2
3# 安装vim
$ apt update
$ apt install vim
然后可以愉快的编辑了。
生活中一字之差,意思能千差万别,在代码中差了一字,运行结果更是差之千里。
在项目中遇到了对数据进行Copy,实现浅拷贝想到了用Slice,但是却错写成了Splice,引发了一系列问题。
下面借花献佛,讲解一下slice和splice的区别:
slice(start,end):方法可从已有数组中返回选定的元素,返回一个新数组,包含从start到end(不包含该元素)的数组元素。
注意:该方法不会改变原数组,而是返回一个子数组,如果想删除数组中的一段元素,应该使用Array.splice()方法。
start参数:必须,规定从何处开始选取,如果为负数,规定从数组尾部算起的位置,-1是指最后一个元素。
end参数:可选(如果该参数没有指定,那么切分的数组包含从start倒数组结束的所有元素,如果这个参数为负数,那么规定是从数组尾部开始算起的元素)。
1 | var arr = [1,2,3,4,5]; |
splice():该方法向或者从数组中添加或者删除项目,返回被删除的项目。(该方法会改变原数组)
splice(index,howmany,item1,…itemX)
index参数:必须,整数,规定添加或者删除的位置,使用负数,从数组尾部规定位置。
howmany参数:必须,要删除的数量,如果为0,则不删除项目。
tem1,…itemX参数:可选,向数组添加的新项目。
1 | var arr = [1,2,3,4,5]; |
原文:https://blog.csdn.net/xiaoqingpang/article/details/79108005
暗恋终究有风险,但愿青春无悔:
提起韩剧,很多人下意识会认为是无脑爱情剧,豆瓣评分也会很低,特别是对于只看美剧的男生来讲,漫威、DC的烧钱特效,好不过瘾,看韩剧简直就是天方夜谭。但是对于《请回答》系列的《请回答1988》,豆瓣评分及其之高,堪称神剧,不信来刷,我在第一集等你。
《请回答1988》当前的豆瓣评分是9.7,该剧在官方定义中是一部爱情喜剧,而多数人在刷剧时,却硬生生的把喜剧刷成了泪目剧,每一集的感动时间就像美剧《Supernatural》中兄弟两个的感动时间一样(Hey, 美人丁)。此剧与2015年11月6日在韩国上映,是一部距离我们比较近的韩剧,而不是那种被冠以经典二字的老剧,不像《越狱》《行尸走肉》《权力的游戏》那么早就面世那么早,但是却同样拥有着巨大魔力俘获了众多人的心。
首次接触《请回答1988》是在2017年12月份,对于韩剧中的细腻(腻歪),不如美剧宏大场面看的那么爽、那么疯狂,而我又对剧很挑剔,看的美剧要么经典,要么上当时的TOP,所以对于韩剧稍微有点不待见的节奏。可是,看了《请回答1988》第一集过后,深陷其中,引人入胜,无法自拔。
最近用了半个月的时间二刷,在下班之余、睡前(害的熬夜)刷完,看的很过瘾。
那一场无疾而终的暗恋-88恋爱解析–有片叶子(作者)
1988对我来说不是一个爱情剧,它理所当然的应该是一个怀旧青春剧。
在青春中,爱情只是其中的一部分,甚至在青春的爱情里,闪光的不是结局,而是那青涩懵懂的过程。
18集毫无疑问是属于正焕的,雨中的独白,错过的时机,自我剖析的悔恨,正焕的爱情在独白中已经交代,而后餐厅借戒指的表白……
细数1988中的事件背景和人物 不断更新–作者(小柒)
1988完结了,因为正焕不是最后的老公纷纷去打1分的你们,你们就忘记了刚开始看这部剧的时候给你们自己带来的感动了吗?
神剧请回答1988埋的梗你看懂了多少–凰Suk(作者)
其实个人并不建议想看少女心和爱情线的小伙伴们看1988,如果想看爱情喜剧那你大可以去找洪氏姐妹,想看成功商业爱情剧去找金编剧,而请回答系列,玩儿的一直是情怀,相比97和94,88表达的东西更多更杂也更贴近生活,这也是为什么88在韩网和内地平台上分数不如97和94,因为大部分人都想单纯地看看爱情线,冒冒粉红色泡泡。
开始对剧中的梗进行分析……
最后幸好是你–青木(作者)
作为2015年韩国最受期待的现象级大剧《请回答1988》落下了帷幕。“正八”党没等来逆转,德善还是属于崔泽。这样的结局一度让“焕善党”把《88》推上了风口浪尖,他们不明白为什么前面的正牌男主到了后面基本沦为了男四,前面的铺垫,前面的伏笔,前面的勾勒,到后来连交代都省去喂了狗。于是质疑,诋毁就开始铺天盖地。
我不属于“泽善粉”也不属于“焕善粉”,不过说实话最开始的时候,按照《请回答XX》这个系列的尿性,基本大家都认为老公应该是狗焕,我也这么认为,心底里最大的期望也不过是不要太虐阿泽,毕竟阿泽几乎是用出了下棋以外所有的时间和生命去爱着德善。但不知道为何心底里总有德善和阿泽在一起的希冀..
搞怪的不是红绿灯,不是时机,而是我数不清的犹豫
“哎一古,成社长。哎一古,金社长。”
德善的抖腿舞,啊哈哈
三兄弟的《消防车》
咩~咩~咩~~~
冬天最温馨的事就是和《请回答》一起度过…
把最好的都给了朋友、兄弟和国家,狗焕你留下了啥…
男生站”狗善党“(看到自己的影子),女生站”泽善党“(女生的看法)
啊,1988的后劲太TM大了…
大人们只是在忍,只是在忙着大人们的事,只是在用故作坚强来承担年龄的重任,大人们也会疼。
永远没有顾客的凤凰堂,确实双门洞的最大赢者。
1988是一部后劲很大的剧。
1988里面没有坏人,如果非要说有,那就是时光。
娃娃鱼懂所有人,所有人却不懂娃娃鱼。
注册注意事项:
BIMserver入门笔记 - 02登录及模型展示
从上一节我们了解了BIMserver的安装配置和运维的使用,但是在项目中我们不可能去直接用BIMserver的运行界面,需要我根据自己的项目需求来自定义自己的BIM展示界面和功能,所以我们就要从开发者角度去审视BIMserver。
既然是开发者,前端就至少要懂前端的,后端至少要懂后端的,最好两者都熟悉。准备工作除了能搭建起BIMserver环境,还要有以下的几个特点(建议):
一个敢于钻研的劲头
一个不服输、有韧性的心
新兴的技术或者前沿的技术,必要要耐得住性子
除了精神上的鼓舞,我还要掌握一些查资料的技能,特别是在对BIMserver二次开发中,资料少之又少,整个腾讯就两个群(一个群人数不超过一只手的手指头数)。另外官方也没有提供Step by step
和接口文档,示例代码也是少的可怜,Stack Overflow、CSDN和博客园中资料也是凤毛麟角,所以二次开发的参考资料还是去查看官方的接口源码,比如最常用的接口源码。
万事开头难,先起个Hellobim吧!
1 | <div id="maincontainer"> |
由于JavaScript代码比较多,所以拆分成了三部分,一个是变量配置模块,一个是登录模块,一个是模型加载展示。
1 | var projectName = 'test1'; // address地址下的BIMserver服务中必须有test1项目,而且还要有模型 |
1 | // 登录代码 |
1 | // 加载模型并展示 |
在index.html中右击,选择 Run 'index.html'
或者Ctrl + Shift + F10启动页面,效果如图:
点击任意部件,部件高亮并且可以查看部件的信息。
界面丑,待优化,至少模型加载并展示了嘛
能力有限,如有错误或疑问请在评论区指出,谢谢。
BIMserver入门笔记 - 01环境搭建、数据导入及预览
现在的工作就是,什么热就干什么(什么… 小李你说啥,Tom热~~),这年头就这样,能把自己的产品给推出去,并且能加码推出去就是胜利。
BIM在行业里应用不多,大家都在积极的储备该技术,都指望着自己能厚积薄发。
这里给出官方开源地址,下载相应版本的发布版本(这里以v1.5.88为例,下载资料已经整理好了,点击下载)。
由于BIMserver的开发环境搭建时对版本的兼容性要求比较高,小版本不一样都会出错
选择一个文件夹命名BIMserver
,且整个文件夹的路径中没有空格和中文;
将bimserver-env
文件夹下的文件都拷贝进来
双击bimserverjar-1.5.88.jar
,Address
内容改为你的IP
,然后点击Start
等服务启动成功后,点击Launch Webbrowser
,打开平台自带的运维界面
这是一个主要的配置过程,过程就用图片来说明了,如下:
a. 找一个没有中文、没有空格的路径,存放jar文件
b. 全程使用IP作为服务发布的地址,先获取IP再说
c. 双击启动jar,将Address中的localhost改为刚才获取的IP,点击右下角的start按钮
d. 当看到信息窗口中打印 Server started successfully即可,并点击 Launch Webbrowser
e. 打开BIMserver的运维安装界面,填写服务名称、服务描述,其他默认即可,点击Next
f. 设置管理员账号、密码,进入下一步
g. 设置email服务,忽略,点击Next
h. 勾选掉所有的插件的勾,点击upload JAR files of plugins,进行离线安装插件
i. 由于每次只能打开一个插件,所以需要耐心的将每一个插件选择好(不要有遗漏哦)
j. 这是插件列表,最好数一下
k. 默认,下一步
l. 点击 Setup,开始安装
m. 安装过程中,打印了一行红色的字体,忽略,不用管,会继续安装
n. 直至出现以下内容,表示安装成功,点击箭头指向的链接
o. 刷新后,出现这些内容,主要使用的是bimviews,点击打开
p. 需要身份验证,填写安装时填写的账号、密码
q. 登录成功后,界面中是工程列表,但是没有工程
r. 找到如图的新建项目的按钮
s. 输入项目名称、项目描述,其他默认,点击Add
t. 项目创建成功,点击箭头所指的按钮
u. 选择 Checkin… 进行模型的导入
v. 导入模型有两种方式,一种是本地文件,一种是URL,这里以本地文件为例进行演示
w. 选择需要导入的模型文件
x. 选择好后,文件类型和注释都有默认值,直接点击Checkin new revision
y. 这个导入速度和使用的电脑性能有关
z. 导入成功后,点击3D这个按钮
aa. 在左侧布局中,有可以展开的树结构,和有控制显隐的眼睛
ab. 模型展示效果,左键拖拽旋转,中键拖拽平移
ac. 通过隐藏外面的部件,可以看到内部的细节
能力有限,如有错误或疑问请在评论区指出,谢谢。
从事GIS方向,和地图打交道比较多,对于各种地图的监听事件的使用比较多,对于常用的事件监听方法梳理了以下内容,作为笔记保存。
JavaScript使我们有能力创建动态页面,网页中的每一个元素都可以产生某些触发JavaScript函数的事件。我们可以认为事件是可以被JavaScript侦测到的一种行为。
在Web项目中要对dom元素绑定监听事件,有onclick,原生方法一般使用attachEvent和addEventListener。其中attachEvent使用与IE早期版本,比如IE6、7、8,而addEventListener适用于IE9、10、11,还有FireFox、Chrome、Safari和Opera等现代浏览器。
直接添加
a. html方式
1 | <!-- 最简单的是在dom上添加 onclick 属性 --> |
b. javascript方式
1 | // 给元素添加 onclick 事件 : onclick还可以是 ondblclick、ondrag等 |
attachEvent
在早期IE中,使用attachEvent作为添加监听的一种方式,对一个元素绑定监听可以按照以下方式进行:
1 | /** |
addEventListener
1 | /** |
从以上两个方法我们可以看出其中存在着一些差别:
在百度地图中对dom元素的监听,官方给出的是addEventListener和removeEventListener,使用方法和原生的addEventListener类似,但是地图API事件监听是独立的,与原生的dom事件不同,而且还增加很多自定义的事件类型。
1 | /** |
需要注意的是,如果要能解绑事件,绑定监听时就需要使用实名函数,匿名函数是无法解绑的。
高德在事件监听上提供了众多的方法,使用最多的就是on/off组合,另外还有addDomListener、addListener、addListenerOnce、removeListener和trigger,此次主要介绍一下最为常用的使用方法。
1 | /** |
同样的,在 绑定和解绑时都应该使用实名函数,除非之后不需要解绑。
1 | /** |
到谷歌这里,绑定监听就不如百度和高德那样,而是通过绑定监听返回的句柄进行解绑操作。这样的话,在绑定监听时的回调函数就可以是匿名函数,也可以是实名函数了。所以说上帝为你关闭的一扇大门,肯定会给你打开一扇窗户,不会让你为难的。
ArcGIS的事件监听有两种方式,一种是很早之前的版本connect style,一种是on style。其中connect是通过dojo进行实现,不过现在更加推荐on来实现。
1 | /** |
1 | /** |
其中connect style和on style对于event格式不一样,除了方法名不一样外,在调用方面也存在一定的不同,需要额外注意,不要混淆。
从上到下看过来,就会发现事件监听也是大同小异,调用方式、事件名称都是次要,关键是考虑好事件绑定后要不要解除,一般来讲都需要绑定实名函数(也有例外,比如谷歌和ArcGIS),方便解除监听事件。
从事开发行业,特别是GIS行业,几乎在所有的项目中都会使用事件监听(主要指地图事件监听),所以希望小伙伴都能扎实的掌握好该技能。
能力有限,如有错误或疑问请在评论区指出,谢谢。
ActiveXObject
进行操作跳转,并实现多个参数的传递;从Chrome跳转到IE,介绍使用修改注册表的形式进行操作。
在IE中打开Chrome方法简单且粗暴,talk is cheap, show me the code
。
1 | var objShell = new ActiveXObject("WScript.Shell"); |
1 | var objShell = new ActiveXObject("WScript.Shell"); |
上述情况都没问题,一切都很顺利,下面来看看多参的情况。
1 | // 如果要传 id=1, name=bruce 两个参数 |
什么鬼,我明明传了两个参数啊,怎么只显示了一个,只显示了第一个。What the hell is going on?
原来在cmd的世界里,它有自己的一套转义语法,可参考链接。
1 | var objShell = new ActiveXObject("WScript.Shell"); |
看完在IE中打开Chrome了,现在来瞅瞅在Chrome中打开IE的方法吧。
在Chrome中打开IE,并传多参数,相比IE中打开Chrome要麻烦一些,大致分为以下几个方面。
regOpenIE.reg
1.1 在D盘下新建openIE文件夹,路径为D:\openIE\
1.2 在openIE路径下新建regOpenIE.reg
,并将如下内容复制进该文件:
1 | Windows Registry Editor Version 5.00 |
其中文本中的最后一行D:\\alert\\openIE.bat\
是当前文件的目录。
openIE.bat
,并将如下内容复制进该文件:1 | @echo off |
其中文本中start
一行中C:\\Program Files\\internet explorer\\iexplore.exe
是你电脑中IE的路径,注意分隔符是双反斜杠。
1 | <a href="openIE:www.baidu.com">Chrome to IE</a> |
1 | <a href="openIE:www.baidu.com?id=1">Chrome to IE</a> |
1 | // 和测试IE跳转Chrome一样,传 id=1, name=bruce 两个参数,看下效果是不是能出来 |
同样的思维,是不是&
又被转义或者影响到了呢,查阅资料,有博主给出了一个解决方案,使用无转义的字符去替代的方案(就是上面openIE.bat
中第三行给出的内容)。
1 | <a href="openIE:www.baidu.com?id=1separatorname=bruce">Chrome to IE</a> |
使用参数中的separator
代替&
,完成解析。
IE和Chrome的跳转可能还有其他方法,如果朋友找到更加简单的方法,请在下面回复告诉博主,感激不尽。
首先欢迎Shizuku!
……没了?
1 | $ npm install hexo-helper-live2d --save |
可以说这个插件就是她妈,没有她妈就没她啊(举手,表示没骂人,真的)
1 | live2d: |
1 | $ npm install live2d-widget-model-shizuku --save |
并在_config.yml
中的小窝旁边写下Shizuku
的大名:
1 | …… |
大家根据自己的博客布局和喜好对Shizuku进行位置调整
1 | display: |
不懂这些参数什么意思不重要,不要恐惧,先尝试改些参数,看Shizuku
往哪边移动,然后再进行定向的调整。
1 | $ hexo clean && hexo g && hexo s |
然后在浏览器中打开http://localhost:4000
,在左下角就能看到可爱的Shizuku
了。
如果有想拥有自己Shizuku的小伙伴,希望大家通过我的笔记也能顺利迎来属于自己的Shizuku。
首先百度一番,度娘告知有以下两种方法进行调试:
在项目根目录执行以下命令,调试信息将在console中打印出来
1 | ionic run android -l -c |
Chrome调试
由于是从项目中拿到App对其调试,没有工程,所以第一种调试方法无法测试。
第二种方法是网上应用最多的,我们来看看需要哪些操作:
首先真机或虚拟机连接电脑(手机开USB调试模式,并且允许电脑能访问手机),并且在命令行中确认
1 | $ adb devices |
确保设备连接到电脑。
在Chrome中打开chrome://inspect/#devices
,可以在Remote Target中看到已经连接的手机和手机中已经开启的应用线程。
找到需要调试的App,点击旁边的inspect(注意:电脑要能科学上网下载一些依赖,不然会显示404或一片空白,这些依赖会缓存下来,不清理缓存的话只需第一次运行时翻墙即可)
最重要的一点是,Ionic打的包一定是debug包,否则在Remote Target中是看不到该应用的,也就无法调试咯。
草已经长了快半年了,在网上也刷了不少相关的帖子,一直没忍心入坑。顾虑有以下两点:
就在昨天,小伙伴们已经购买了属于自己的拉轰电动,我也是差一点没忍住,当时三个人,但是电驴的配色只有两辆了,配色不够,我就“大方的”把机会让给他们俩了,更进一步的为我入坑公路车提供了绝佳的机会。
今天在另一个朋友的陪同下,来到“XX捷安特专卖店”。之前在网上也浏览过一些博客、帖子,针对捷安特的公路车也了解了一些,但是真到了专卖店里,和老板攀谈起来还是有些切啊。
由于预算(穷)的原因,心里只存放了SCR1、SCR2。首先,试骑了SCR2,此车入门偏下档次,就不再贴太多相关信息,骑了一圈就pass了;试骑SCR1,也是入门车,比SCR2贵1000钢镚,试骑比较了确实不一样,车架轻(前叉是碳纤维)而且稍有推背感(七哥说的,也确实是),最后选择了这款的原因有以下几点(又要吃土了):
由于对公路车还不够了解,有些优缺点还需要继续发掘。
配置详细信息如下:
描述 | 型号 |
---|---|
车架 | GIANT ALUXX SL |
前叉 | 碳纤维公路前叉 |
撤吧 | 铝合金管公路把 |
车首竖杆 | 铝合金竖杆 |
座垫 | GIANT CONTACT 座垫 |
座垫杆 | 铝合金 D 型座垫杆 |
变速把手 | SHIMANO ST-R3000 |
前变速器 | SHIMANO FD-R3000 |
后变速器 | SHIMANO RD-R3000 |
飞轮 | SHIMANO CS-HG400-9 |
刹车 | SHIMANO BR-R3000 |
大齿盘 | 铝合金中空一体齿盘 |
轮圈 | 铝合金高框圈 |
花鼓 | 铝合金培林花鼓 |
钢丝 | HTSS 钢丝 |
轮胎 | GIANT S-R4 700X25C轮胎 |
后避震器 | 无 |
SIZE | S码 700CX445 |
入门级别的公路车,已经很满意了,毕竟花了那么多大洋,未来几个月要吃土了。
此处就不一一贴局部细节图了,只贴一些低像素的整车效果图:
车子有了,还差很多装备,骑行服、锁踏、锁鞋、心率计、功率计等等,试问:我需要吗?
另外说下我的计划(这就是浪的理由?):
看似简单的想法,但需要十足长期的努力,坚持很重要,加油!
1 | // 1.首先在index.html中引入百度地图的URL(其中要有申请的KEY) |
1 | // 3.在 map.centerAndZoom(point, 15) 的下一行继续添加以下内容 |
1 | // 4.在 map.addOverlay(marker) 的下一行继续添加以下内容 |
1 | // 5.在 map.addOverlay(marker) 和 marker.addEventListener 之间插入以下内容 |
打印失败了!!!
有人分析说,test
需要用this
来调用,写成这个样子
1 | let infoWindow = new BMap.InfoWindow('<div>内容:这是内容主体,啦啦啦</div><div><button id="confirm" onclick="this.test()">确定</button></div>', options); // 初始化弹出窗对象 |
同样的,还是失败了。
分析原因,是Ionic在初始化页面时,弹窗的布局信息并没有跟着初始化,而绑定的test()
方法也没有初始化,所以绑定的方法无效。
那怎么样才能保证能将test()
方法绑定到button
上的呢?
其实,我们可以曲线救国,让绑定事件在初始化弹窗之后,弹窗之前绑定,这样既可以有效的防止页面初始化带来的影响,又可以顺利绑定事件,下面是我的做法:
1 | // 以上完整代码 |
这样子再测试的话,控制台中就可以打印如果我再控制台中打印出来,说明弹窗中的button响应了,反之。
以上问题在常规的B/S项目中不会发生,这是因为在Ionic项目中,使用的是Angular语法,即TypeScript(JavaScript的超集),该语法自己定义了一些新特性,使得开发效率更高,语法更简洁,再加上ES6(或更高)新特性,使得在动态生成的页面上绑定监听事件失效,所以可以通过延迟绑定或者适当时机绑定来解决。
Ionic做项目和以往的ES5或原生项目相比,效率更高、兼容多平台、开源组件更多、也更加美观,是一个比较好的路子。