KnockoutOut JS - 为什么这些值没有正确绑定?

时间:2013-09-12 10:58:34

标签: javascript html data-binding knockout.js

我有这个knockout可观察数组,我试图将它的一些值绑定到我的视图中。我遇到困难的地方是因为它的嵌套。我不确定正确的数据绑定语法是什么。

这是我的可观察数组数据:

data

我想在广告客户中绑定advertiserName。

这是我的HTML

<table id="tblBrand">
        <thead>
            <tr>
                <th>Brand Name</th>
                <th>
                    <button data-bind='click: $root.addBrand'>Add Brand</button></th>
            </tr>

        </thead>
        <tbody data-bind="foreach: brands">
            <tr>
                <td>
                    <input data-bind="value: brandName" readonly="true" />
                </td>
            </tr>
            <tr>
                <td>
                    <table>
                        <tr>
                            <td>
                                <input data-bind="value: advertiser.advertiserName" />
                            </td>

                            <td>
                                <input data-bind="value: advertiser.advertiserRank" />
                            </td>
                        </tr>
                    </table>
                    <td>
                        <a href='#' data-bind='click: $root.removeBrand' style="color: blue">Remove</a>
                    </td>
            </tr>
        </tbody>
    </table>

Page and HTML

我的装订工作方式是我在每个品牌内看。每个品牌都有一个广告客户对象,我想深入研究。第二个屏幕截图显示了我的语法以及页面呈现的内容。

1 个答案:

答案 0 :(得分:1)

由于您的advertiserko.observable,如果您在表达式中使用advertiser(),则需要使用<table> <tr> <td> <input data-bind="value: advertiser().advertiserName" /> </td> <td> <input data-bind="value: advertiser().advertiserRank" /> </td> </tr> </table> 获取其值:

<table data-bind="with: advertiser">
   <tr>
       <td>
           <input data-bind="value: advertiserName" />
       </td>
       <td>
           <input data-bind="value: advertiserRank" />
       </td>
   </tr>
</table>

或者您可以使用with binding

{{1}}