数据绑定 – 与其他UI库集成的angular.js(或knockout.js)?
我将为web应用程序使用knockout.js或angular.js libs(绑定支持的b / c).
我的问题是 – 如何将这些库集成到现有的UI库中,如Dojo,jQueryUI,Ext.js,YUI,..
对于Knockout,情况是相当不错的.可以通过
custom 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,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. } }; 大部分时间实现单一更新方法就足够了.甚至有a collection of ready-made bindings for jQuery UI.它并不涵盖所有的jQuery UI小部件,但是由于创建自定义绑定是如此简单,您可以根据需要实现自己的绑定. 对于JS角度来说情况比较困难.您可以创建自定义绑定作为您自己的Directive的一部分.指令API要求您编写更多的代码.指令的生命周期也很复杂.所以,他们需要相当多的时间来学习. 同时它允许您指定很多不同方面的行为.例如,您可以通过指令完全重写小部件的内部HTML表示,并在其中使用角度模板.在Knockout中,您需要使用jQuery.不幸的是,与Knockout指令中的自定义绑定不同,更适合编写自己的小部件,而不是与现有的小部件集成. 总结: 敲击绑定更容易.与第三方小部件集成很容易.>角度指令更适合编写自己的小部件,但同时更强大. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- goal and plan of 2012-1
- 同步 – Angular2,保持模型在组件之间同步
- axis实现webservices分布式通信
- shell_exec — 通过 shell 环境执行命令,并且将完整的输出
- scala – “未来[选项[未来[选项[X]]]]`进入`未来[选项[X]]
- Unix 分时系统的演化[资料]
- angularjs – Angular 1.3.14 merge(dst)不存在
- 利用gsoap将wsdl方式的WebService生成c/c++的接口
- scala – Playframework 2.0和Selenium入门
- Mule ESB-3.Build a webservice proxy