Bon*_*her 9 data-binding angularjs knockout.js
我将使用knockout.js或angular.js libs(绑定支持的b/c)用于Web应用程序.
我的问题是 - 您如何将这些库集成到现有的UI库中,如Dojo,jQueryUI,Ext.js,YUI等.例如,如何在UI库中使用数据绑定suport /语法?你是否必须实现类似自定义绑定的东西才能使用窗体小部件窗体UI?
And*_*кин 15
对于淘汰赛,情况非常好.可以通过自定义绑定与第三方小部件集成.Bindings API非常简单且前瞻性.您只需要实现一个或两个方法(引用Knockout文档):
ko.bindingHandlers.yourBindingName = {
init: function(element, valueAccessor, allBindingsAccessor, viewModel) {
// This will be called when the binding is first applied to an element
// Set up any initial state, event handlers, etc. here
},
update: function(element, valueAccessor, allBindingsAccessor, viewModel) {
// This will be called once when the binding is first applied to an element,
// and again whenever the associated observable changes value.
// Update the DOM element based on the supplied values here.
}
};
Run Code Online (Sandbox Code Playgroud)
大多数时候实现单一update
方法就足够了.甚至还有一组用于jQuery UI的现成绑定.它没有涵盖所有jQuery UI小部件,但由于创建自定义绑定非常简单,您可以根据需要实现自己的绑定.
至于Angular JS,情况更加困难.您可以创建自定义绑定作为您自己的指令的一部分.Directives API要求您编写更多代码.指令的生命周期也非常复杂.所以,他们需要花费相当多的时间来学习.
同时,它允许您指定行为的许多不同方面.例如,您可以通过内部完全重写窗口小部件的内部HTML表示,directive
并在其中使用Angular模板.在Knockout中你需要使用jQuery.不幸的是,与Knockout指令中的自定义绑定不同,它更适合编写自己的小部件而不是与现有小部件集成.
总结一下:
归档时间: |
|
查看次数: |
5447 次 |
最近记录: |