Comments (6)
补充一下,实际实现这么做会导致元素追踪比较难,比如N层都是Component的嵌套的情况下,最后渲染出来的一个DOM到底是哪一层的el
之类的会比较烦人,最好的方法可能就是把el
这东西和组件树完全脱钩了,一个组件完全可以没有一个必须是DOM Element的el
,而可以有一个是组件、元素、文本等任何东西的抽象上的Node
from san.
其实我们在决定“一个component的template必须包含一个element作为root”的时候就已经作出选择了,就是不支持这种。
react也是如此的,vue2也变成这样了
在我们决定这个之前,我的实现是外面自动包一层。编写是方便一点,但是生成后的结构依然存在冗余
from san.
我还以为当时我们说的是“一个component的template必须有且仅有一个root”,而没有说必须是element……
react实测是可以组件的root是另一个组件的,我在写这个issue的时候特地去试了……
from san.
你觉得写template: '<ui-list></ui-list>'的人是什么心态?
- 我这个组件内只有一个ui-list
- 我就是ui-list
from san.
不会有人写template: ''
,只会有人写template: '<ui-list></ui-list>
这个心态的问题我实际写的时候也思考了很久,我认为基于我们“所有组件只能有一个root”的原则,它的含义就是“我是XXX”
你写template: '<div><input></div>'
,其实意思就是“我是一个内部有input的div”,依此类推template: '<ui-list datasource="{{myStaticList}}"></ui-list>'
的意思是“我是一个指定了数据源的ui-list
”
from san.
额。。。我上面template里的内容被过滤掉了,哈哈
from san.
Related Issues (20)
- 请问san-native后续有开源的计划么? HOT 2
- 条件判断 s-else 节点缺失 props class HOT 1
- 关于调试源码过程中 Data.prototype.splice 方法中的一点疑惑 HOT 2
- san-ssr 可以支持sourcemap吗?
- 有为 vite 提供 san 单文件组件支持的插件吗?
- 在特定情况下created内的数据操作不生效 HOT 2
- 如何使用typescript定义s-ref的类型? HOT 1
- 引入svg标签linearGradient报错
- san支持动态组件吗? HOT 1
- lint: 模板指令是否有推荐的编码规范 HOT 1
- 移除 IE 的支持 HOT 1
- HTML模板可以支持JSX吗 HOT 1
- 条件渲染时,只给其中一个分支标记具名插槽,但其他分支也会被渲染进该具名插槽 HOT 1
- san反解遍历子元素,会移除由空格或换行组成的文本节点,造成页面抖动 HOT 1
- Example中webpack-cli依赖需更新 HOT 1
- 关于组件的 attribute 透传 HOT 46
- San使用SSR之后和未使用SSR的San项目父子组件生命周期执行顺序不一样是设定好的嘛? HOT 1
- 给自定义组件属性绑定值的问题,谢谢 HOT 10
- 为什么 this.el 返回的是一个注释节点呢? HOT 2
- {{sankit}}是不是已经在开发了?【Featured】
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from san.