管理错误的最佳方法:
ko.bindingHandlers.img = {
// Mise à jour de l'image
update: function (element, valueAccessor) {
// Données de l'observable
var value = ko.utils.unwrapObservable(valueAccessor()),
src = ko.utils.unwrapObservable(value.src),
fallback = ko.utils.unwrapObservable(value.fallback),
$element = $(element);
// On set l'url de l'image, si fichier innaccesible alors on set le src à fallback (url par défaut)
if (src) {
$element.attr("src", src);
} else {
$element.attr("src", fallback);
}
},
// Init de l'image
init: function (element, valueAccessor) {
var $element = $(element);
$element.error(function () {
var value = ko.utils.unwrapObservable(valueAccessor()),
fallback = ko.utils.unwrapObservable(value.fallback);
$element.attr("src", fallback);
});
}
};
<img class="img-rounded img-responsive center-block" data-bind="img: { src: pictureUrl, fallback: _pictureDefault }" />