Support setting a link on traits
- 主要语言
- Python
- 星标
- 653
- 派生
- 217
- 平均合并
- 2 天 21 小时
- 30 天内合并 PR
- 2
描述
I'm looking to start using a standard pattern in our UIs to split our model and views, similar to the points discussed in https://github.com/jupyter-widgets/ipywidgets/issues/2296. However when extending to more complex or nested views it's rather inconvenient to have to define all the links separately as we need to hold a reference to every field.
Instead I'd been keen to introduce the ability to set links directly on traits. This way I can bind to the view's traits without needing to hold a reference to the object. Proposing something along the following lines so that it's backwards compatible with current traitlet usage.
```python
from traitlets import SourceLink, Float, HasTraits
import ipywidgets as widgets
class Model(HasTraits):
a = Float()
def view(model):
return widgets.HBox([
widgets.Label("Value A"),
widgets.FloatText(value = SourceLink(model, "a"))
])
x1 = Model()
view(x1)
```
Having tested locally I think this is easily achievable with minimal changes. However before submitting a PR I wanted to check if any views or comments on the idea or how to approach it.
贡献指南
评估
这个 Issue 还没有评估数据。