删除knockout.js

时间:2015-11-24 22:15:48

标签: javascript html json mvvm knockout.js

我的第一个stackoverflow问题。请原谅我普遍缺乏理解。我正在努力。

我根据用户标识的日期自动生成一个表,该日期对于提供的每一天具有不同的记录值。我正在引用一个定义行和列的.JSON metagen / metadata文件,但我似乎无法找到一种方法来过滤掉作为空对象传递的结果。我想删除没有结果的行。我相信我需要在绑定中创建或引用一个viewmodel函数,但到目前为止我尝试过的所有内容都失败了。

我有一个绑定文件,它读入数据并根据记录名称计算字段。然后使用knockout foreach语句创建记录,并从我的绑定文件中找到的Subgrid()函数中获取值。数据以数字格式读入。

视图

 <!-- ko foreach: $data.cols -->
                        <th data-bind="text:$data.label === undefined ? $data.value:$data.label"></th>
                    <!-- /ko -->
                </tr>
            </thead>
            <tbody>
                <!-- ko foreach: $data.rows -->
                    <tr>
                        <td data-bind="text:$data.label === undefined ? $data.value:$data.label"></td>
                        <!-- ko foreach: $parent.cols -->
                            <td data-class="subgridRow"></td>
                        <!-- /ko -->
                    </tr>
                <!-- /ko -->

Viewmodel

/*global define,sandbox */
define([
    'scalejs.sandbox!subgrid',
], function (
    sandbox
) {
    'use strict';

    return function (node) {
        var observable = sandbox.mvvm.observable,
            merge = sandbox.object.merge,
            text = observable(node.text);
            sandbox.flag.invoke('loadUwf');                 
        return merge(node, {
            text: text }

绑定文件的返回部分。

//remove values for missing LoB records and return the value
loop1:  for (var obj in exdata){  
                for (var key in exdata[obj]){
                        if (exdata[obj][key]=== parentValue || ctx.$parent.value === "TOTAL"){
                                if( !text ){text = 0;}
                                if (ctx.$parent.value === "TOTAL"){
                        return {text: recalc.total.toFixed(round) + ' ' + unit,}}
                        else{return {text: recalc.val.toFixed(round) + ' ' + unit,}
                        break loop1;}        

0 个答案:

没有答案