首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >knockout.js组件内容

knockout.js组件内容
EN

Stack Overflow用户
提问于 2014-09-03 14:52:12
回答 1查看 288关注 0票数 2

我正在尝试用Knockout.js创建一个自定义组件,我已经有了下面的代码片段:

控件的.js文件:

代码语言:javascript
复制
ko.components.register("expand-button",{
    viewModel: function(data)
    {
        this.header = data.header;

        this.image= data.image;

        this.displayContent = ko.observable(false);

        this.toogle = function()
        {
            if(this.displayContent()==true)
            {
                this.displayContent(false);
            }
            else
            {
                this.displayContent(true);
            }
        }
    },
    template: { require: 'text!controls/expand-button/expand-button.html'}
});
ko.applyBindings();

控件的模板:

代码语言:javascript
复制
<div class="ExpandButtonContainer">
    <div data-bind="click: toogle" class="ExpandButtonButtonInactive">
            <div class="ExpandButtonImage"><image data-bind="visible: image" src=""  /></div>
        <div data-bind="text: header">Header</div>
    </div>  
    <div class="ExpandButtonContent" data-bind="visible: displayContent() == true" data-part="content"></div>
</div>

现在我想向Control添加一个Html内容,所以如果我像这样使用Control:

代码语言:javascript
复制
<expand-button params="header: 'HEADER'">The Content goes here as Html code</expand-button>

文本"The Content goes here as Html“应该显示在带有样式类"ExpandButtonContent”的div中。有人知道如何做到这一点吗?

EN

回答 1

Stack Overflow用户

发布于 2014-09-03 16:01:44

你有没有尝试过使用html绑定?例如http://knockoutjs.com/documentation/html-binding.html

代码语言:javascript
复制
<expand-button params="header: 'HEADER'"><span data-bind="html: yourhtmlcontent"></span></expand-button>

或者如果你想要显示“文本”本身,

代码语言:javascript
复制
    <expand-button params="header: 'HEADER'"><pre data-bind="text: yourhtmlcontent"></pre></expand-button>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25638008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档