regularjs / regular

regularjs: a living template engine that helps us to create data-driven component.
http://regularjs.github.io/
MIT License
1.06k stars 149 forks source link

用webpack打包的代码,如果regular是import进去,ie8以下模式会报错 #181

Closed lolipop99 closed 6 years ago

lolipop99 commented 7 years ago

version: 0.5.2

problem:用webpack打包的代码,如果regular是import进去,ie8以下模式会报错

example:import Regular from 'regularjs';

result: image

lolipop99 commented 7 years ago

还有个问题,渲染出来的模板在ie下有大量的空文本节点?

leeluolee commented 7 years ago

这个应该是warning 文本节点指的是注释么?

lolipop99 commented 7 years ago

image 是这样子的,导致ie7下布局都乱了

lolipop99 commented 7 years ago

html代码: image js代码插入: image image

leeluolee commented 7 years ago

Regular会保留空白 作为空文本节点(根据你模板里是否留空)。 应该所有浏览器都有, 是不是在IE7下 影响布局了?

lolipop99 commented 7 years ago

是的。现在布局被影响到了。保留空白能理解。但是html写结构都会换行。现在换行被处理成空文本节点了

leeluolee commented 7 years ago

@lolipop99 换行+空格 和 单独空格, 在渲染时 是一样的。 这个问题暂时没法解决 。 可以使用正则先去掉标签内部的空白再传给template. 或者修改css布局, 取消inline-block这种布局方式。 后面版本可能考虑 自动去空格的快捷配置方式。

还有既然用了es6语法, 为什么不直接用多行字符串维护 模板

lolipop99 commented 7 years ago

@leeluolee 1.我现在是用webpack打包自动压缩去掉换行和单独空格来解决。 image

2.没用es6多行字符串是为了html和js分开维护。

3.还有个问题:就是一个弹窗结构是操作后append to dom body,我想用Regular去绑定事件指令给弹窗。用什么方式好。

tips:请问有QQ群之类的问答组织吗

lolipop99 commented 7 years ago

image

ie7下,new了个dialog组件,$inject不成功。其他环境正常。这边定位原因是低版本下,$inject不支持组合选择?

leeluolee commented 7 years ago

不是 $inject 不要使用选择器, 如果IE9底下只支持 id选择器 。 内部并没有封装选择器

inject 建议 永远只传节点

@lolipop99