通过Javascript敲除绑定属性

时间:2014-05-19 18:03:56

标签: javascript jquery data-binding knockout.js

我可以做点什么吗

var friendss="<div id='two' data-theme='a' class='ui-content'>
<ul id='tust' 
data-role='listview'>
<li><a href='#'><img data-bind='attr:{src: friend.img}' alt='Friend'><p data-bind='text:
 friend.name'></p>
</a>
</li>
</ul>
</div>";

然后

$("#tust").attr("data-bind","foreach:{data:friends(), as:'friend'}");

基本上我在这里尝试实现的是,通过js将html附加到body,然后通过js插入data-bind属性(在填充了上面的html之后) 如果没有,我怎样才能实现上述目的,即通过javascript插入数据绑定。 感谢

1 个答案:

答案 0 :(得分:0)

您可以使用模板绑定。例如。定义模板:

<script type="text/html" id="myTemplate">
    <div id="two" data-theme="a" class="ui-content">
        <ul id="tust" data-bind="foreach: {data: friends, as: 'friend'}" data-role="listview">
            <li>
                <a href="#">
                    <img data-bind="attr: {src: friend.img}" alt="Friend">

                    <p data-bind="text: friend.name"></p>
                </a>
            </li>
        </ul>
    </div>
</script>

然后实际绑定:

<div id="random123" data-bind="template: {name: 'myTemplate', data: {friends: friends()}}"></div>

如果你需要动态添加它,只需绑定DOM元素。

ko.applyBindings(theMVVM, $("#random123")[0]);