本文目录一览:
- 1、Reactjs component 中 prop 和 state 的区别
- 2、怎么使用js清楚datatables表格
- 3、利用javascript,做一个动态表格
- 4、怎么理解vuejs的component的复用
- 5、JS有哪些框架
- 6、angularjs component和directive的区别
Reactjs component 中 prop 和 state 的区别
props和state都是用于描述component状态的,并且这个状态应该是与显示相关的。
State
如果component的某些状态需要被改变,并且会影响到component的render,那么这些状态就应该用state表示。
例如:一个购物车的component,会根据用户在购物车中添加的产品和产品数量,显示不同的价格,那么“总价”这个状态,就应该用state表示。
Props
如果component的某些状态由外部所决定,并且会影响到component的render,那么这些状态就应该用props表示。
例如:一个下拉菜单的component,有哪些菜单项,是由这个component的使用者和使用场景决定的,那么“菜单项”这个状态,就应该用props表示,并且由外部传入。
怎么使用js清楚datatables表格
两种方法
1,dataTable.Clear();
2,dataTable.Rows.Clear();
1,dataTable.Clear()和dataTable.Rows.Clear() 都是删除全部的表数据,但不会删除表结构(列信息 ),使用时不必做区分,任选其一都可以。
2,DataTable.Reset方法。将全部数据和表结构(列信息)都删除。
3,用DataRow.Delete()方法删除行后,DataTable的行数不会变,在foreach语句中仍然可以遍历到删除的行,但是不能访问行中的值, 会报System.Data.DeletedRowInaccessibleException的异常。
4,DataTable.GetChanges() 方法也可以取到删除后的行,但是也不能访问行中的值,会报异常。
5,DataTable没有显示实现IDisposable接口,对dataTable.Dispose() 的调用实际上是调用的DataTable的一个父类MarshalByValueComponent的 Dispose() 方法,由于这个原因,Dispose() 方法不会清除DataTable的行数据。因此,如果要完全销毁一个DataTable,可以这样写代码:
1 dataTable.Clear();
2 dataTable.Dispose();
3 dataTable = null;
利用javascript,做一个动态表格
添加行和列的我做过,改变行列高宽的我没有做,但是你的要求是可行的,是能够做的,只是我一般会避免做这样的代码,太麻烦了,简直是折磨人。
用什么做才不累呢,我推荐用EXCEL来做:在EXCEL里面做好基本表样以后,选择保存为网页,里面的代码可以拷贝到你的网页上运行,比如下面的代码可以存为一个html文件,你用浏览器打开试试看效果:
P
OBJECT id=Book1_538_Spreadsheet classid=CLSID:0002E559-0000-0000-C000-000000000046PARAM NAME="DataType" VALUE="XMLDATA"PARAM NAME="XMLData" VALUE='?xml version="1.0"?
?mso-application progid="Excel.Sheet"?ss:Workbook
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet"
xmlns:html=""
x:ExcelWorkbook
x:ProtectStructureFalse/x:ProtectStructure
x:ActiveSheet0/x:ActiveSheet
/x:ExcelWorkbook
ss:Styles
ss:Style ss:ID="Default"
ss:Alignment ss:Horizontal="Automatic" ss:Rotate="0.0" ss:Vertical="Center"
ss:ReadingOrder="Context"/
ss:Borders
/ss:Borders
ss:Font ss:FontName="宋体" ss:Size="12" ss:Color="Automatic" ss:Bold="0"
ss:Italic="0" ss:Underline="None"/
ss:Interior ss:Color="Automatic" ss:Pattern="None"/
ss:NumberFormat ss:Format="General"/
ss:Protection ss:Protected="1"/
/ss:Style
/ss:Styles
c:ComponentOptions
c:Label
c:CaptionMicrosoft Office 电子表格/c:Caption
/c:Label
c:SpreadsheetAutoFit/
c:MaxHeight80%/c:MaxHeight
c:MaxWidth80%/c:MaxWidth
c:NextSheetNumber1/c:NextSheetNumber
/c:ComponentOptions
x:WorkbookOptions
c:OWCVersion11.0.0.6555 /c:OWCVersion
x:Height7620/x:Height
x:Width15240/x:Width
/x:WorkbookOptions
ss:Worksheet ss:Name="Sheet1"
x:WorksheetOptions
x:Selected/
x:ViewableRangeR1:R262144/x:ViewableRange
x:SelectionR1C1/x:Selection
x:TopRowVisible0/x:TopRowVisible
x:LeftColumnVisible0/x:LeftColumnVisible
x:ProtectContentsFalse/x:ProtectContents
x:Unsynced/
/x:WorksheetOptions
c:WorksheetOptions
/c:WorksheetOptions
ss:Table ss:DefaultColumnWidth="54.0" ss:DefaultRowHeight="14.25"
/ss:Table
x:PublishObjects
x:PublishObject
x:Id538/x:Id
x:DivIDBook1_538/x:DivID
x:SourceTypeSourceSheet/x:SourceType
x:HtmlTypeHtmlCalc/x:HtmlType
x:Location x:HRef="D:#9;emp文件Book1.htm"/
/x:PublishObject
/x:PublishObjects
/ss:Worksheet
o:DocumentProperties
o:Author桥/o:Author
o:Created2007-08-20T09:12:19Z/o:Created
o:Companychinalife/o:Company
o:Version11.6568/o:Version
/o:DocumentProperties
/ss:Workbook
'PARAM NAME="AllowPropertyToolbox" VALUE="-1"PARAM NAME="AutoFit" VALUE="-1"PARAM NAME="Calculation" VALUE="-4105"PARAM NAME="Caption" VALUE="Microsoft Office 电子表格"PARAM NAME="DisplayColumnHeadings" VALUE="-1"PARAM NAME="DisplayGridlines" VALUE="-1"PARAM NAME="DisplayHorizontalScrollBar" VALUE="-1"PARAM NAME="DisplayOfficeLogo" VALUE="-1"PARAM NAME="DisplayPropertyToolbox" VALUE="0"PARAM NAME="DisplayRowHeadings" VALUE="-1"PARAM NAME="DisplayTitleBar" VALUE="0"PARAM NAME="DisplayToolbar" VALUE="-1"PARAM NAME="DisplayVerticalScrollBar" VALUE="-1"PARAM NAME="DisplayWorkbookTabs" VALUE="-1"PARAM NAME="EnableEvents" VALUE="-1"PARAM NAME="MaxHeight" VALUE="80%"PARAM NAME="MaxWidth" VALUE="80%"PARAM NAME="MoveAfterReturn" VALUE="-1"PARAM NAME="MoveAfterReturnDirection" VALUE="-4121"PARAM NAME="RightToLeft" VALUE="0"PARAM NAME="ScreenUpdating" VALUE="-1"PARAM NAME="LockedDown" VALUE="0"PARAM NAME="ConnectedToChart" VALUE="0"PARAM NAME="DefaultQueryOnLoad" VALUE="-1"PARAM NAME="EnableUndo" VALUE="-1"
p style='margin-top:100;font-family:宋体;font-size:8.0pt'要交互式地使用此网页,您必须有 Microsoftreg Internet Explorer 5.01 Service Pack 1 (SP2) 或更新版本,以及 Microsoft Office 2003 Web Components。/pp style='margin-top:100;font-family:宋体;font-size:8.0pt'请访问 a href=";p1=Excel"Microsoft Office 网站/a 以获取更多信息。/p/OBJECT/P
怎么理解vuejs的component的复用
什么是组件?组件(Component)是 Vue/guide/componentsponent("widget", { template: "button @click='dosomething'slot/slot这是一个复用的组件,点击他{{theValue}}/button", methods: { dosomething: function () { this/guide/componentsponent("myTemplate", { //ponent自带name属性。大概样子是这样的,div id="app" my-template/my-template /div script Vueponent("myTemplate", { template: 'ulli{{b}}/limy-template v-if="a" :a="aponent("myTemplate", { template: 'div1/div' + 'div2/div', }) 非片断实例:Vue/guide/components/guide/components.html#u5185_u8054_u6A21_u677F以上所述是小编给大家介绍的Vuejs第十三篇之组件——杂项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
JS有哪些框架
目前来看,JS框架以及一些开发包和库类有如下几个,Dojo 、Scriptaculous 、Prototype 、yui-ext 、Jquery 、Mochikit、mootools 、moo.fx
Dojo (JS library and UI component ):
Dojo是目前最为强大的j s框架,它在自己的Wiki上给自己下了一个定义,dojo是一个用JavaScript编写的开源的DHTML工具箱。dojo很想做一个“大一统”的 工具箱,不仅仅是浏览器层面的,野心还是很大的。Dojo包括ajax, browser, event, widget等跨浏览器API,包括了JS本身的语言扩展,以及各个方面的工具类库,和比较完善的UI组件库,也被广泛 应用在很多项目中,他的UI组件的特点是通过给html标签增加tag的方式进行扩展,而不是通过写JS来生成,dojo的API模仿Java类库的组织 方式。 用dojo写Web OS可谓非常方便。dojo现在已经4.0了,dojo强大的地方在于界面和特效的封装,可以让开发者快速构建一些兼容标准的界面。
优点:库相当完善,发展时间也比较长,功能强大,据说利用dojo的io.bind()可以实现comet,看见其功能强大非一般,得到IBM和SUN的支持
缺点:文件体积比较大,200多KB,初次下载相当慢,此外,dojo的类库使用显得不是那么易用,j s语法增强方面不如prototype。
Prototype (JS OO library):
是一个非常优雅的JS库,定义了JS的面向对象扩展,DOM操作API,事件等等,以prototype为核心,形成了一个外围的各种各样 的JS扩展库,是相当有前途的JS底层框架,值得推荐,感觉也是现实中应用最广的库类(RoR集成的AJAX JS库),之上还有 Scriptaculous 实现一些JS组件功能和效果。
优点:基本底层,易学易用,甚至是其他一些js特效开发包的底层,体积算是最小的了。
缺点:如果说缺点,可能就是功能是他的弱项
Scriptaculous (JS UI component based on prototype):
Scriptaculous是基于prototype.js框架的JS效果。包含了6个js文件,不同的文件对应不同的js效果,所以说,如果底层用 prototype的话,做js效果用Scriptaculous那是再合适不过的了,连大名鼎鼎的digg都在用他,可见不一般
优点:基于prototype是最大的优点,由于使用prototype的广泛性,无疑对用户书锦上添花,并且在《ajax in action》中就拿Scriptaculous来讲述js效果
缺点:刚刚兴起,需要时间的磨练
yui-ext (JS UI component):
基于Yahoo UI的扩展包yui-ext是具有CS风格的Web用户界面组件 能实现复杂的Layout布局,界面效果可以和backbase媲美,而且使用纯javascript代码开发。真正的可编辑的表格Edit Grid,支持XML和Json数据类型,直接可以迁入grid。许多组件实现了对数据源的支持,例如动态的布局,可编辑的表格控件,动态加载的Tree 控件、动态拖拽效果等等。1.0 beta版开始同Jquery合作,推出基于jQuery的Ext 1.0,提供了更多有趣的功能。
优点:结构化,类似于java的结构,清晰明了,底层用到了Jquery的一些函数,使整合使用有了选择,最重要的一点是界面太让让人震撼了。
缺点:太过复杂,整个界面的构造过于复杂。
Jquery :
jQuery是一款同prototype一样优秀js开发库类,特别是对css和XPath的支持,使我们写js变得更加方便!如果你不是个js高手又想写出优 秀的js效果,jQuery可以帮你达到目的!并且简介的语法和高的效率一直是jQuery追求的目标,
优点:注重简介和高效,js效果有yui-ext的选择,因为yui-ext 重用了很多jQuery的函数
缺点:据说太嫩,历史不悠久。
Mochikit :
MochiKit自称为一个轻量级的js框架。MochiKit 主要受到 Python 和 Python 标准库提供的很多便利之处的启发,另外还缓解了浏览器版本之间的不一致性。其中的 MochiKit.DOM 尤其方便,能够以比原始 JavaScript 更友好的方式处理 DOM 对象。MochiKit.DOM 大部分都是针对 XHTML 文档定制的,如果与 MochiKit 和 Ajax 结合在一起,使用 XHTML 包装的微格式尤其方便。Mochikit可以直接对字符串或者数字格式化输出,比较实用和方便。它还有自己的 js 代码解释器
优点:MochiKit.DOM这部分很实用,简介也是很突出的
缺点:轻量级的缺点
mootools :
MooTools是一个简洁,模块化,面向对象的JavaScript框架。它能够帮助你更快,更简单地编写可扩展和兼容性强的JavaScript代码。Mootools跟prototypejs相类似,语法几乎一样。但它提供的功能要比prototypejs多,而且更强大。比如增加了动画特效、拖放操作等等。
优点:可以定制自己所需要的功能,可以说是prototypejs的增强版。
缺点:不大不小,具体应用具体分析
moo.fx :
moo.fx是一个超级轻量级的javascript特效库(7k),能够与prototype.js或mootools框架一起使用。它非常快、易于使用、跨浏览器、符合标准,提供控制和修改任何HTML元素的CSS属性,包括颜色。它内置检查器能够防止用户通过多次或疯狂点击来破坏效果。moo.fx整体采用模块化设计,所以可以在它的基础上开发你需要的任何特效。
优点:小块头有大能耐
缺点:这么小了,已经不错了
angularjs component和directive的区别
component是1.5版本之后出现的组件的概念,directive是指令,Component相当于directive+controller+scope,component更适合基于组件的开发模式