Javascript 如何通知绑定处理程序内容已完全加载?
我正在创建一个绑定处理程序,以基于API提供的js对象使用carousel。出于测试目的,我正在静态加载内容 我的目标如下: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
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ô,很有魅力。添加此作为答案,以便我可以检查它是否正确。谢谢