Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
淘汰css绑定和显示模块javascript模式_Javascript_Asp.net Mvc_Asp.net Mvc 4_Knockout.js - Fatal编程技术网

淘汰css绑定和显示模块javascript模式

淘汰css绑定和显示模块javascript模式,javascript,asp.net-mvc,asp.net-mvc-4,knockout.js,Javascript,Asp.net Mvc,Asp.net Mvc 4,Knockout.js,我正在为我的javascript使用reveal模块模式,并且我正在花最宝贵的时间让css绑定与knockout一起正确工作 我的JS my.js.module = (function ($) { "use strict"; var my = { testUrl: null }, testModel= { stuff: [{

我正在为我的javascript使用reveal模块模式,并且我正在花最宝贵的时间让css绑定与knockout一起正确工作

我的JS

    my.js.module = (function ($) {
        "use strict";

        var my = { 
            testUrl: null 

        },
            testModel= {
                stuff: [{
                    "testOne": null
                }]
            },
            testViewModel = null,
            testId: null;

    my.bindStuff = function () {

        testViewModel =  ko.mapping.fromJS(testModel);

        ko.applyBindings(testViewModel, $(my.testId).get(0));

        $.getJSON(my.testUrl,
            {},
            function (data) {

                var testModelData = {
                    stuff: data
                };

                ko.mapping.fromJS(testModelData, testViewModel);
            });
    };

    return my;
}(jQuery));
在我的cshtml中,我有

<tbody data-bind="foreach: stuff">
                <tr>
                    <td data-bind="text: testOne"></td> 
                </tr>
            </tbody>

现在我想使用css绑定via knock out来获得一个基于testOne值的css值,它可以是三件事之一。我知道这将是一个ko,computed函数,但我不太明白如何让每个特定的东西实例查看testOne并获得正确的值,以确定通过ko.computed函数返回什么


如果有人能帮助我,我将不胜感激。

这把小提琴展示了如何使用数组映射并通过敲除设置元素的类,它与您的代码不完全匹配,但应该有帮助:

var newData={
测试:“这是一个测试”,
材料:[
{“testOne”:“Event1”},
{“testOne”:“Event2”},
{“testOne”:“Event3”}
]
};
var viewModel=ko.mapping.fromJS(newData);
应用绑定(视图模型);
还可以查看此问题,了解设置类的两种方法:

您可以使用attr或新的css绑定,这两种绑定在上面的问题中都被引用

var newData = {    
    test:"this is a test",
    stuff:[
        {"testOne":"Event1"},
        {"testOne":"Event2"},
        {"testOne":"Event3"}
    ]
};

var viewModel = ko.mapping.fromJS( newData );
ko.applyBindings(viewModel);

<div data-bind="text:test"></div>
    <ul data-bind="foreach: stuff">
    <li><span data-bind="text: testOne, attr:{class: testOne}"></span></li>
</ul>