kekesam
kekesam
  • 发布:2018-10-15 12:01
  • 更新:2020-09-11 11:33
  • 阅读:18894

在开发uni-app的时候,如何调用原生js对象的问题

分类:uni-app

在开发UI-app的时候,无法获取类型document.getElementById这些方法,因为在开发中可能会牵涉到特效的编写和动画的制作。

2018-10-15 12:01 负责人:无 分享
已邀请:
DCloud_UNI_CHB

DCloud_UNI_CHB

class动态绑定,通过class实现动画效果

至于触发时机,可以在事件函数中由用户触发,或者页面生命周期中自动触发。

  • kekesam (作者)

    我的关注点,是不是不能操作js的dom相关的操作。

    2018-10-15 12:12

  • kekesam (作者)

    根据你的回复我的判断是,只能通过css3的动画去做处理。因为有时候或获取某个元素的位置等。

    2018-10-15 12:12

  • DCloud_UNI_CHB

    回复 kekesam:不能操作DOM相关

    2018-10-15 12:15

  • kekesam (作者)

    回复 DCloud_UNI_CHB:后续能够把这块优化吗?要不然这个东西有点坑,只能做单一的应用,高级效果的话还的依赖js才行。

    2018-10-15 12:17

  • kekesam (作者)

    回复 DCloud_UNI_CHB:望采纳一下,因为开发app写效果还是很多无法用css3去实现的。去dom化都是一种假象,只是提出一个方向,但是真正开发是不科学的。望回复。

    2018-10-15 12:35

  • kekesam (作者)

    回复 DCloud_UNI_CHB:如果不行,我还是降级去开发和处理,先继续用平台的mui+h5+。

    2018-10-15 12:37

  • DCloud_UNI_CHB

    回复 kekesam:你可以举例说明一下,哪种场景是必须操作DOM的

    2018-10-15 14:15

  • ccjuice

    回复 DCloud_UNI_CHB:比如说结合d3.js相关的dom操作

    2019-01-17 16:42

  • 亦寒

    回复 DCloud_UNI_CHB: html2canvas,这个是将 dom 节点生成canvas图片,在uniapp 上有替代方案吗。

    2019-05-17 11:32

  • linChengC

    回复 DCloud_UNI_CHB: 同问:html2canvas在uniapp 上有替代方案吗

    2019-05-30 17:50

  • linChengC

    回复 亦寒: 请问你是想将view标签里的内容生成图片吗,找到替代方案了吗

    2019-05-30 17:53

  • Smile晴天

    回复 DCloud_UNI_CHB: 比如H5在微信浏览器要隐藏头部,在其他浏览器不需要隐藏,该怎么解决?

    2019-08-28 16:27

  • 8***@qq.com

    回复 DCloud_UNI_CHB: 在富文本里添加点击事件,你能告诉我在不操作dom的情况下,怎么添加吗????????,不用jquery,怎么搞吗??????????

    2019-10-15 17:45

菜鸡

菜鸡

大兄弟,如果要操作dom
那就说明你的页面是个网页了

现在uni-app的目标是想通过你写的模板+样式+js

生成原生页面

所以你觉得原生页面里还有dom吗

  • 菜鸡

    如果想使用类似uni-app的语法写网页

    为什么不试试vue呢?

    2018-10-15 15:12

  • kekesam (作者)

    我明白,uni-app本身定位就是vue-cli的开发模式,但是开发app的过程中大家都不写复杂的效果的吗?操作dom是很必然的,本身对应ui-app来说本身就是一个网页。就是模块化了而已,做的事情就是做个编译和转换不同的端。

    2018-10-15 23:27

  • kekesam (作者)

    比如自定义弹出效果,购物车的抛物效果,我也希望uni-app给我去写,但是开发APP各种可能性都存在,不可能全部帮我定制吧。估计也没这个时间别人。我估摸着是为了兼容小程序给删掉的。

    2018-10-15 23:29

  • kekesam (作者)

    回复 菜鸡:现在我已经降级了。暂时不用uni-app开发了。感觉会坑很多,暂时用平台提供的mui+html5+.小程序重新在写一个。感觉用uni-app会被搞不下去。

    2018-10-15 23:31

  • DCloud_heavensoft

    回复 kekesam: vue、react、小程序,全世界都在去dom化,因为dom真的性能不行。用js操作dom做动画,手机上更是一个低效的事情。更换下思路吧

    2018-10-16 04:13

  • 菜鸡

    不会原生开发是原罪[滑稽]

    2018-10-16 09:06

  • kekesam (作者)

    不知道为什么说js低下,都是js衍生出来的产物。所有的vuejs和react就多了一个虚拟dom而已。说低下的都是带着偏见色彩,大家可能不专注特效的编写和开发,就是调调数据和展示展示,当然不会牵涉太多的原生态的编写。@16:

    2018-10-16 14:07

  • kekesam (作者)

    回复 DCloud_heavensoft:大牛可能指明一个方向,那种爆炸效果,撕裂效果,和粒子运动和抛物线的效果,做电商一定要用到,我也希望官网能够提供。公司提出的需求。

    2018-10-16 14:09

  • kekesam (作者)

    回复 菜鸡:现在已经降级了,自己编写页面和用vuejs做数据渲染,mui做基础的组件。谢谢大佬。

    2018-10-16 14:14

  • kekesam (作者)

    回复 菜鸡:罪不罪过个人觉得,只要能做出产品做出优秀的产品。目的不都一样,只要还在学习都还有超越的可能。大佬武威

    2018-10-16 14:15

  • DCloud_heavensoft

    不是js低下,是浏览器的dom效率低下。你说的那些效果,就是css动画来做,如果你用js操作dom做,手机上卡的根本没法商用

    2018-10-16 19:20

  • 4***@qq.com

    回复 DCloud_heavensoft: 这个思路是怎么样?比如我需要用npm包(https://github.com/github/markdown-toolbar-element),这个包是通过获取domid进行操作,那这种怎么处理?uniapp会把原生组件封装一下,h5上可以修改绑定id,但小程序内如何使用?希望能提供一个思路。

    2020-05-12 11:53

  • DCloud_heavensoft

    回复 4***@qq.com: 小程序就不支持dom,没法用的

    2020-05-13 00:06

  • 4***@qq.com

    回复 DCloud_heavensoft: 明白,已经怼产品和组长了。真是没事找事。说了不支持,还要造火车

    2020-05-14 15:07

  • 1***@qq.com

    回复 DCloud_heavensoft: 希望能针对html2canvas这个组件支持下或者能给个替代解决方案,uni-app官网的文档和案列有限,还有对插件进行筛选吧,好多混子

    2020-05-20 14:51

6***@qq.com

6***@qq.com - 111

试试web-view呗。目前可以本地使用了。

  • 亦寒

    好像并没有太大的作用,如果每个页面都设计到一点 dom 操作,那只能全用 web-view 了,就没有原生的感觉了。

    2019-05-17 11:37

dasensen

dasensen - 刘伟森

我感觉 作者说的没错,因为每个公司可能需求不一样,有的时候 没办法 才会用操作dom元素,如果不操作dom元素,感觉那效果 很难去做出来,还是希望uniapp 能在去优化

  • DCloud_UNI_CHB

    可以使用renderjs,参考:https://uniapp.dcloud.net.cn/frame?id=renderjs

    2020-05-20 15:54

阿民armin

阿民armin

uni-app 中,没有 document。可以使用 plus.globalEvent.addEventListener 来实现
这个呢

该问题目前已经被锁定, 无法添加新回复