Javascript 如何通知绑定处理程序内容已完全加载?

Javascript 如何通知绑定处理程序内容已完全加载?,javascript,knockout.js,Javascript,Knockout.js,我正在创建一个绑定处理程序,以基于API提供的js对象使用carousel。出于测试目的,我正在静态加载内容 我的目标如下: self.images = [ { imageUrl: 'http://www.triptips.com.br/site/wp-content/uploads/2013/11/castillo-praga.jpg', description: 'Photo from Praga.' }, { imageU

我正在创建一个绑定处理程序,以基于API提供的js对象使用carousel。出于测试目的,我正在静态加载内容

我的目标如下:

self.images = [
    { 
      imageUrl: 'http://www.triptips.com.br/site/wp-content/uploads/2013/11/castillo-praga.jpg', 
      description: 'Photo from Praga.' 
    },
    { 
      imageUrl: 'http://www.4yourevista.com.br/wp-content/uploads/2014/06/berlim-01-4you.jpg', 
      description: 'Photo from Berlim.' },
    { 
      imageUrl: 'http://cdni.wired.co.uk/1920x1280/k_n/London_5.jpg', 
      description: 'Photo from London.' },
    { 
      imageUrl: 'http://www.dudalinafeminina.com.br/blog/wp-content/uploads/2013/08/paris2.jpg', 
      description: 'Photo from Paris.' },
    { 
      imageUrl: 'http://upload.wikimedia.org/wikipedia/commons/e/e1/1_hongkong_panorama_victoria_peak_2011.JPG', 
      description: 'Photo from Hong Kong.' }
];
好的,一旦imageUrl将从另一个地方加载,则需要一些时间才能完全加载

我正在创建此处理程序:

ko.bindingHandlers.carousel = {
    init: function(element, valueAccessor, allBindings, viewModel, bindingContext) {
        $(element).slick({ ... }); // this is the slider component
    },
    update: function(element, valueAccessor, allBindings, viewModel, bindingContext) {
    }
}
使用静态内容(例如一些文本)时,它工作得很好。但是,当我尝试将此绑定用于
foreach
迭代时,它不起作用

<div class="centered" data-bind="carousel: {}, foreach: images">
    <div>
        <img alt="" data-bind="attr: { src: imageUrl, title: description }" />
    </div>
</div>


谢谢你的帮助

绑定将按照找到它们的顺序进行解释

在这里,您可能希望在您的
carousel
绑定之前执行
foreach
绑定,因此请尝试反转它们:

<div class="centered" data-bind="foreach: images, carousel: {}">


绑定按照找到它们的顺序运行。也许反转它们可以解决这个问题(
)最近有一个非常类似的问题,关于延迟加载图像和敲除绑定,我想你可能会觉得很有帮助-我会四处看看,但你也应该这样做,因为他们这样做真的很整洁。@GôTô,很有魅力。添加此作为答案,以便我可以检查它是否正确。谢谢