gpt4 book ai didi

knockout.js - KnockoutJS 2 和 $ 绑定(bind)不再起作用

转载 作者:行者123 更新时间:2023-12-04 06:02:56 24 4
gpt4 key购买 nike

我已经升级到 KnockoutJs 2发现使用模板绑定(bind)的页面已经停止工作。

我有一个模板绑定(bind),它使用 ${ x }绑定(bind),但这些都没有得到解决。

我删除了模板并使用了新的控制流绑定(bind),但它仍然不起作用。我不得不转换为使用数据绑定(bind)。

我真的不想全部转换,我希望它向后兼容 jquery模板以及给我使用新的控制流绑定(bind)的可能性。

知道如何让它工作吗?

最佳答案

如果您使用 jQuery 模板,Knockout 2.0 需要它的特定版本。请参阅 Knockout 页面的注释:http://blog.stevensanderson.com/2011/08/31/knockout-1-3-0-beta-available/

史蒂夫桑德森提到...

As mentioned under “backward compatibility notes”, if you are using jQuery Templates, you’ll need to update it to 1.0.0pre as found at https://github.com/jquery/jquery-tmpl


  • 请注意,KO 1.3beta 最终发布为 KO 2.0.0

  • 如果您不打算使用 jQuery 模板,请发布您的代码的 jsFiddle,我们可以帮助您解决它。

    [更新]
    在进一步的评论中,您询问了如何制作模板。以下是从 Knockouts 网站 http://knockoutjs.com/documentation/template-binding.html 上的示例中获取的两种可能性) 使用 KO 2.0.0 的 native 模板
    <h2>Participants</h2>
    Here are the participants:
    <div data-bind="template: { name: 'person-template', foreach: people }"></div>

    <script type="text/html" id="person-template">
    <h3 data-bind="text: name"></h3>
    <p>Credits: <span data-bind="text: credits"></span></p>
    </script>

    function MyViewModel() {
    this.people = [
    { name: 'Franklin', credits: 250 },
    { name: 'Mario', credits: 5800 }
    ]
    }
    ko.applyBindings(new MyViewModel());

    这与在您使用 foreach 的元素中直接嵌入匿名模板的结果相同,即:
    <div data-bind="foreach: people">
    <h3 data-bind="text: name"></h3>
    <p>Credits: <span data-bind="text: credits"></span></p>
    </div>

    关于knockout.js - KnockoutJS 2 和 $ 绑定(bind)不再起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8724858/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com