向网站上传文件怎么做,产品推广软文,网站关键词优化难不难,专做电子产品评测的网站Wijmo 5是一组JavaScript控件#xff0c;但是不要与Widgets混淆。在此前开发Wijmo的时候#xff0c;我们能够用像jQuery UI和jQuery Mobile Widget 框架来构建它#xff0c;同时也为我们构建Web框架--Wijmo节省了时间。但是#xff0c;当我们希望构建一个更现代的Wijmo 5但是不要与Widgets混淆。在此前开发Wijmo的时候我们能够用像jQuery UI和jQuery Mobile Widget 框架来构建它同时也为我们构建Web框架--Wijmo节省了时间。但是当我们希望构建一个更现代的Wijmo 5我们认为现在是时候重新审视JavaScript UI组件尤其是语法和API接口。在做了大量的研究和讨论后我们使用了“真正的JavaScript控件true JavaScript Controls”如你在.NET中使用类似的属性方法和事件等API同样的在JavaScript UI组件的使用方法几乎完全相同。同时我们选择IE9作为Wijmo 5浏览器支持的基准版本因为IE9支持ECMAScript 5语法而这点对我们的Wijmo 5架构非常关键由此创造了新的Wijmo 5架构。ECMAScript 5Controls我们的Wijmo 5框架直接采用了ECMAScript 5。我们的源码使用TypeScript这使得开发非常容易。如使用它创建了控件基类(Base Control Class), 所有的控件均派生自该基类。JS的控件如同类对象一样大小写敏感且提供了构造函数用于初始化同时也提供了属性、方法、事件。如FlexGrid控件可通过如下方法进行初始化//初始化FlexGrid实例对象为一个DOM element var myFlexGrid newwijmo.grid.FlexGrid(#FlexGrid1); 属性在我们的ES 5控件中我们采用了Object.defineProperty()。这种方法使得我们可以在JS下像使用.NET控件一样便捷。因为这种方法允许我们定义属性的getters和setters接口因此我们可以按照写.NET代码的逻辑思路直接调用属性非常方便。设置控件的属性非常方便直接赋值即可完全不用通过函数调用来实现。//设置FlexGrid可编辑myFlexGrid.isReadOnly false;还可通过类似的方法对事件进行赋值、检查属性是否有值。如果IDE支持只能感知(如VS 2013), 则可通过智能感知的自动完成功能来对控件属性赋值。智能感知对于使用控件来说非常便捷可以很好的提高工作效率。为了方便同样提供了枚举(Enums)//设置FlexGrid的selectionmodemyFlexGrid.selectionMode wijmo.grid.SelectionMode.CellRange;属性还可通过标准的JS对象方式获得如您可以通过如下方法获得控件的get属性接口//检查FlexGrid是否可编辑var readOnly myFlexGrid.isReadOnly;如果你熟练的使用.NET语法编程那么你会非常熟悉这些属性方法。如果你熟练的使用JS编程那么对这种优美的API接口也会喜欢。可以对比看如下的对Wijmo Grid Widget赋值语法//Wijmo的 Grid Widget允许可编辑$(#WijmoGrid1).wijgrid(option,allowEditing, true);这种语法可称为“字符串类型编程”依赖于字符串的大小写来设置属性值如设置错误则不会报错这个对开发调试将会非常麻烦。方法Wijmo 5中的方法使用起来非常方便可直接通过控件调用控件对应的方法且调试比较方便。//刷新FlexGrid控件以引起relayout和redrawmyFlexGrid.refresh();对比JS Widget 调用刷新的方法//刷新Wijmo Grid Widget$(#WijmoGrid1).wijgrid(doRefresh);如同上面的属性一样依赖字符串大小写调用方法调试错误则非常麻烦。事件Wijmo 5控件中的事件使用如同.NET控件中的一样可通过addHandler、removeHandler订阅、取消订阅事件。//FlexGrid cell编辑完成事件myFlexGrid.cellEditEnded.addHandler(function (sender, args) {//Do something });对应的JS Widget 订阅事件的语法//订阅Wijmo cell 编辑完成事件$(#WijmoGrid1).bind(wijgridaftercelledit,function (e, args) {//Do something }); Controls vs.Widgets综上所述下面用表对Wijmo 5 Control和JS Widget进行对比Wijmo 5 ControlsJS Widgets使用TypeScript类提供类JavaScript构造函数Functions接口通过设置JavaScript对象属性EcmaScript5属性有getters 和 setters接口使用“options”的属性通过设置子参数直接设置属性值通过调用函数实现属性赋值通过控件的实例调用方法以传递函数名字符串方式进行方法调用通过在事件调用addHandler订阅通过使用bind()并以字符串方式传递widget name even name订阅事件IDEs提供智能感知依赖IDE非强类型无智能感知设计时语法检测无语法检测运行时错误提示运行时很少错误提示欢迎各位朋友一起探讨学习相关资料链接http://www.evget.com/product/3506 转载于:https://blog.51cto.com/9929657/1613981