从动态元素获取挖空视图的大小
Getting size of knockout views from dynamic elements
在我的淘汰赛应用程序中,我有一部分类似于这个结构:
<section class="container">
<section class="percent-sizes">
<article class="d3Graph"></article>
</section>
.
.
.
<section class="percent-sizes">
<article class="d3Graph"></article>
</section>
</section>
这些<sections>
是动态的,可以动态创建。
本质上,我有一堆<sections>
它们占据了屏幕的百分比部分,具体取决于有多少,然后在每个图表中我都有 d3 图表,我必须知道其中的像素大小才能绘制它们。
这些部分中的每一个都有自己的 ViewModel,容器有自己的视图模型,并维护其子项的可观察数组。
创建新<section>
时,我需要通过挖空知道<sections>
的宽度/高度是多少并重新绘制它们。
赛的最佳实践是什么? (我宁愿不手动计算百分比,或使用jQuery选择器来查找元素并手动查询其高度。
为什么不将它们全部包含在可观察数组中,而只需将高度设置为计算值,例如 -
function whateverViewModel() {
var self = this;
self.height = ko.computed(function () {
return (1 / sectionContainer.length);
});
}
var sectionContainer = ko.observableArray();
sectionContainer.push(new whateverViewModel());
<section data-bind="style: { height: height }"></section>
相关文章:
- 如何使用javascript从主svg对象动态创建svg视图框
- 通过在Dojo mobile ViewController.openExternalView中动态更改打开同一外部视图的
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 根据手机上是否存在文件,在jQuery mobile中动态填充列表视图
- 来自mysql的动态值用于html代码点火器视图中的图形
- 使用PhoneGap和jQuery Mobile在android设备上显示动态列表视图
- 通过格式化将jquery移动组件动态添加到列表视图中
- 如何使用Handlebars在父视图中动态分配部分视图
- Codeigniter JQuery在JQuery.get请求后动态加载视图中的数据
- 动态创建角度视图
- Emberjs - 将参数动态绑定到视图
- 将多个事件动态添加到多个 Web 视图
- 动态 JQuery 视图在 django 中
- 在PHP循环中动态创建jQuery列表视图
- 在AngularJS UI路由器中动态更改视图
- 动态内容加载视图
- 使用双向绑定将对象从角度视图动态添加/创建到控制器的数组
- Google 图表数据视图动态设置列
- 从金字塔视图动态输出标准输出'子流程.打开到网页
- 选中复选框值时,如何将其从视图动态传递给控制器