Results 19 comments of sapjax

version 1.7.1 fixed this issue, you can use `useNativeDriver: true` now.

满足一切前端开发需求,诚不欺我也。

@hax 能说明一下browser端程序跑在server端的需求情况么 browser端的程序大多与dom相关并且有用户参与交互,跑在server端的意义何在呢。 如果只是单纯为了使用html5的api,感觉有点为了统一而统一啊

> 很明显不能放在组件内部了,只能放在某个“全局”的地方,但刚才我们假设的是,组件内部的JavaScript代码不能访问外界的对象,所以…… > 但要是让它能访问,组件的隔离机制等于白搭。最好的方式,也许是两种都支持,默认是局部作用域,另外专门有一个作用域放给JS框架之类的东西用,但浏览器实现的难度可能就大了不少。 组件的js本来就是全局的,你这假想一个敌人,然后来批判....

不赞同“Web Components有些狭隘”的说法 “样式的局部作用域”只是Web Components为解决**组件冲突/组件和页面冲突**的一个组成部分 Web Components考虑的不仅仅是一个站点(项目)下的组件化,也考虑组件/页面和第三方的组件如何更好的共存、配合。 想象一下,浏览器对WEB新特性都支持非常好的时候,完全可以抛弃dom库,写原生代码,第三方的原生代码组件可以直接import进来用,不用担心和自己项目的组件/页面有冲突,或许可能用一种撘积木的方式来开发页面。 我对React不怎么了解,感觉传统的网站开发和MV*的WEB应用还是有很大区别的,不知道React是不是都能胜任? 但是相比把css转成js,把模板写在jsx中,Web Components处理**组件自身的/组件和组件之间**的依赖的方式显然更加的原始、直观、具有一致性,并且无需编译。

@fouber 你所举的例子都是**全局性的css**,这和**局域化的样式**感觉概念正好反了,这种样式称为**整站样式**,**全局通用样式**更多一点吧,称做**css模块**感觉也不太合适 @hax说的**局域化样式**是强调css的**作用域**,作用范围在UI组件的内部,组件下的css叫**css模块**当然是不合适的。

在Shadow DOM里面的样式应该也有问题,`:root[data-cssrules-1] h1` 没有对跨边界做处理。

@hax 额,难道我理解错了? 你给文档的根节点加属性选择器,然后通过属性选择器来匹配后代节点, 如果我的一个css文件样式是应用到shadow dom内部的,使用了@support,这样转换之后,`:root[data-cssrules-1]` h1就不能匹配到shadow dom内部的元素了啊(预处理的时候,实际上是无法知道css要应用到什么地方的)。 不过存在一种状况是:可能不支持@support和不支持shadow dom的浏览器有很大一部分是重合的,那么反而没有问题了。

@hax 我指的是那些本身就在`shadow dom`内部的样式, 开发的时候可能是一个独立`css`文件,最终会在本地编译或者执行时`inline`到`shadow dom`的`shadow root`中。 这样的样式因为意图是只作用于`shadow dom`内部,并不存在跨作用域边界的需求,所以是不需要写`/deep/`的,但是经过你上面的处理后,反而需要写`/deep/`才能保持原来的样式生效,并且改变了语义,作用到所有的元素上去了,因为`css预处理器`是不知道`shadow dom`的`nodeName`是什么的。

@hax 嗯,但是问题是没有办法给:host对应的节点增加`[data-cssrules-1]`这样的属性了,因为无法确定:host对应的节点是什么。