想知道我是否可以将jQuery插件应用于由 knockout 模板生成的div。

这是我在做什么:
我有一个模板

<script type="text/html" id="single-file-image-template">
    <div id="iviewer"></div>
</script>

那么我该如何做类似我在jquery风格中所做的事情?
  var iv = $('#iviewer').iviewer(
      'loadImage', documentUrl
  );

欢迎任何建议!

问候
泽维尔

最佳答案

您可以创建一个自定义绑定(bind),如下所示:

ko.bindingHandlers.iviewer = {
   init: function (element, valueAccessor, allBindingsAccessor) {
     var value = ko.utils.unwrapObservable(valueAccessor());
       //initialize iviewer with url
      $(element).iviewer('loadImage', value);
    },

     //update the control when the view model changes
    update: function(element, valueAccessor) {
        var value = ko.utils.unwrapObservable(valueAccessor());
        $(element).iviewer('loadImage', value);
    }
};

并以这种方式使用它:
<div data-bind="iviewer : url">
<div>

ko.applyBindings({ url : 'yourUrl'});

See fiddle

关于jquery - 如何将jQuery插件应用于由 knockout 模板生成的div,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20403361/

10-12 06:23