【问题标题】:Hot Towel SPA Durandal Knockout and Dynatree热毛巾 SPA Durandal Knockout 和 Dynatree
【发布时间】:2013-03-02 23:39:36
【问题描述】:

我正在尝试让 dynatree 控件在 Hottowel 视图模型中工作,基于这个小提琴,http://jsfiddle.net/EZgNs

var ViewModel = function() {
    var self = this;
    self.initialized = ko.observable(false);
    self.items = ko.observableArray();

    // Use JSFiddle echo to simulate an AJAX service
    (function() {
        $.ajax({ url:"/echo/json/", data:data, type:"POST",
                 success:function(data)
                 {
                   // Map the returned JSON to the View Model  
                   ko.mapping.fromJS(data, {}, self.items);
                   self.initialized(true);
                 }
               });
     })();    
};

ko.bindingHandlers.dynatree = {
    update: function(element, valueAccessor, allBindingsAccessor, viewModel) {
        setTimeout( function() { $(element).dynatree()}, 0);
    }
};

ko.applyBindings(new ViewModel());

无法理解如何编辑 vm 以合并 dynatree ko。

【问题讨论】:

  • 无法理解问题所在。小提琴似乎工作正常。

标签: knockout.js dynatree durandal hottowel


【解决方案1】:

首先,您不应该明确地绑定您的视图模型;让杜兰达尔为你做这件事。接下来,您可以通过将绑定处理程序放在 main.js 或 shell.js 文件的 activate 方法中,在一开始就注册任何敲除绑定处理程序。这样,您可以保证绑定处理程序在绑定时可用于所有视图模型/视图组合。

【讨论】:

    猜你喜欢
    • 2013-03-25
    • 2014-06-08
    • 2013-05-14
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-21
    相关资源
    最近更新 更多