1

我可以用淘汰赛执行这样的绑定吗

<div data-bind="attr:{id: id,'data-plugin-options': options}">

我的模型看起来像

var model = {
    id: id,
    options: {
         headerText: 'Group',
         headerStyle: 'groupWithBorders'   
     }
};

ko.applybindings(model);

目前,绑定发生后,我在 data-plugin-options 上获得了 [object object]。

4

2 回答 2

2

Knockout 使用 toString() 将 attr 绑定中的对象转换为字符串。您可以重载该函数以输出所需的结果:

var model = {
    id: id,
    options: {
        headerText: 'Group',
        headerStyle: 'groupWithBorders',
        toString: function() {
            return JSON.stringify(this);
        }
    }
};
于 2013-05-16T15:16:11.047 回答
0

你可以这样做:

<div data-bind="attr:{id: id,'data-plugin-options': options.headerText}">


var model = {
    id: 'id',
    options: {
         headerText: 'Group',
         headerStyle: 'groupWithBorders'   
     }
};

ko.applyBindings(model);

你会看到这个结果:

<div data-bind="attr:{id: id,'data-plugin-options': options.headerText}" id="id" data-plugin-options="Group">
</div>

见小提琴

我希望它有所帮助。

于 2013-05-16T15:11:50.810 回答