Comments (16)
- 我原先设想是,afterrender只触发一遍的,重渲染没事件触发。
setXXX
方法自己会重渲染(比如setText,它自己会main.innerHTML=xxx),set(name, value)
方法逻辑应该是:如果有setXXX
走它,没有的话直接设置属性,然后repaint
。- 对于:想在控件上挂一点和控件本身没啥关系的数据, @wurongyao 提的data是解决方案。setData里不调用渲染咯
伪代码:
if (this.setPropName) { this.setPropName(value) }
else { this.propName = value; this.repaint(); }
from esui.
- 现在的实现好像是会触发的,所以这算实现上的问题,明天修之?但是要有
repaint
这种事件么,感觉是有使用的场景的,比如因为repaint()
过程中可能会清掉子元素再重建,所以子元素上的事件会丢掉要重新注册? - 现有的实现就是那段伪代码了。如果确认无关数据有
setData
提供,那就没问题了,确实没找到有set之后不用repaint的属性存在
from esui.
-
现在的实现不会触发的
if (helper.isInited(control)) { control.fire('afterrender'); }
from esui.
我去isInited
原来是指 生命周期是否刚好在INITED阶段 而非 是否在INITED之后 ,这命名有点二义性啊……话说isInited
这种方法存在的必要性……怕控件开发人员不知道那个枚举能用?
from esui.
话说isInited这种方法存在的必要性……怕控件开发人员不知道那个枚举能用?
因为require太多麻烦。我写太多次this.lifeCycle == require('Control').LifeCycle.INITED了
from esui.
在头里写个var LifeCycle = require('Control').LifeCycle
嘛- -这属性一个文件中到处要用的变量,放在头里是合适的,或者那个isInited
名字能再准确点
from esui.
在头里写个var LifeCycle = require('Control').LifeCycle嘛
具体控件这么写没问题。就是写helper的时候,Control依赖helper,helper再直接依赖control,那就死了。。。然后既然做了,就暴露出来给写控件用咯。名字或者你想个更好的?
from esui.
名字或者你想个更好的?
isInStage('INITED')
from esui.
果然有isIn
。我当时就是看这两个i打头的单词放一起别扭。。。
from esui.
所以这个事情的最正确解决方案应该是把LifeCycle
做成一个独立的枚举模块?
from esui.
所以这个事情的最正确解决方案应该是把LifeCycle做成一个独立的枚举模块?
我觉得算了,搞得太复杂。就isInStage吧。那control的lifeCycle属性得改成stage,要不又有理解障碍了。
from esui.
我倒觉得没有太大必要,属性和方法的命名是从2个角度去解释的。“我当前的生命周期在XX阶段”这是属性(属性天生有表达“当前”的意思),而“判断是否在XXX阶段”这是方法,叫isInLifeCycleStage
显长
from esui.
就是“我当前的生命周期在XX阶段”。我觉得,lifecycle感觉是整个周期,stage更好表达了控件当前所属阶段
这个意思
from esui.
没意见……只要现在这个时候整体改名字的代价能接受,不过好像也就你这边的事,其它控件开发者没用上这东西~
from esui.
我。。。
from esui.
这事已经结束了
from esui.
Related Issues (20)
- 日程投放控件 HOT 4
- InputCollection 应当继承 ControlCollection HOT 1
- Table 的 overflowX 属性为非 hidden 的时候多出一个横向滚动条 HOT 3
- BoxGroup有一处事件没使用addDOMEvent绑定
- 解决set和setProperties触发change的问题
- Table的依赖不全
- 控件初始化子控件时的valueReplacer管理
- 控件初始化子控件时的valueReplacer管理
- 控件初始化子控件时的valueReplacer管理
- 指定元素的销毁子控件
- Select 控件对于value比较判断的兼容性问题 HOT 2
- 希望能添加一些布局相关的组件 HOT 4
- 对于带有数据源的控件是否应该支持外部不提供数据源的场景的表决 HOT 19
- addChild的时候添加校验 HOT 6
- viewContext的疑问 HOT 3
- 加个Lisence HOT 1
- MonthView的年月下拉框格式可调 HOT 1
- 渐变背景的问题
- Panel控件的addContent方法不适用table布局 HOT 2
- 关于拓展组件
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 esui.