将对象传递到挖空视图

时间:2013-05-16 15:00:51

标签: javascript knockout.js

我可以使用knockout执行这样的绑定吗

<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]。

2 个答案:

答案 0 :(得分:2)

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

var model = {
    id: id,
    options: {
        headerText: 'Group',
        headerStyle: 'groupWithBorders',
        toString: function() {
            return JSON.stringify(this);
        }
    }
};

答案 1 :(得分: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>

<强> See fiddle

我希望它有所帮助。