knockoutjs样式未绑定

问题描述 投票:1回答:2

我有以下适用于tickout.js的模板:

        <script type="text/html" id="feed-template">
            <li data-bind="style: { backgroundColor: BackColor, backgroundImage: 'none' }"   >
                <a style="text-shadow: none" href="#" data-bind="click: ItemClicked">
                    <h1 style="WHITE-SPACE: normal; FONT-WEIGHT: bold" data-bind="text: PatientName"></h1>
                    <p style='white-space: normal;' data-bind="text: Description"></p>
                    <p style='white-space: normal;' data-bind="text: FeedEvent"></p>
                    <p style='white-space: normal;' data-bind="text: FeedTimeString"></p>
                    <span class="ui-li-count" data-bind="text: DisplayCount"></span>
                </a>
                <!-- ko if: ShowDelete -->
                    <a style="background: none; text-shadow: none;" href="#ConfirmUnfollowPopup" data-transition="pop" data-rel="popup" data-position-to="window" data-icon="delete" data-role="button"  data-inline="true" data-theme="b" data-bind="click: UnfollowClicked"></a>
                <!-- /ko -->
            </li>
        </script>

使用foreach:绑定将模板绑定到普通javascript对象的ObservableArray。除BackColor之外,所有对象属性均已正确绑定。 BackColor是属性而不是函数,其值始终是正确的CSS颜色(例如#556677);但是,它在DOM中的绑定只是作为BackColor,而不是其值。

此模板和绑定在kickout.js 2.1中有效,但是我正在将其迁移到kickout.js 3.0,在这里它不起作用。

[我尝试将一个函数添加到返回CSS颜色的javascript对象中,并绑定到ShowBackColor(),但这会在剔除中产生javascript错误。

关于此背景样式颜色正确绑定的任何建议?

knockout.js knockout-3.0
2个回答
0
投票

尝试将引号放在backgroundColor周围。


0
投票

您可以使用attr绑定作弊。这是一种解决方法,而不是解决方案(我有同样的问题):

© www.soinside.com 2019 - 2024. All rights reserved.