基本上这里就是我走过这么远了:sencha touch 2.0中的Extend和Require属性有什么区别?
扩展:
读here
基本上延伸手段子类,其中的 父类可以将所有属性被继承到子类中。
要求:
读here
Loads all classes by the given names and all their direct dependencies.
我错以为这些都是类似?
我找不到任何其他差异,有人可以解释这种差异吗?
基本上这里就是我走过这么远了:sencha touch 2.0中的Extend和Require属性有什么区别?
扩展:
读here
基本上延伸手段子类,其中的 父类可以将所有属性被继承到子类中。
要求:
读here
Loads all classes by the given names and all their direct dependencies.
我错以为这些都是类似?
我找不到任何其他差异,有人可以解释这种差异吗?
扩展 子类意味着如果你创建类B中扩展类A,B可以像一个A进行处理,以及继承方法和属性。 A的方法和属性成为你的新B级的一部分
需要 这只是一个装载mecanism是保证一些所需的类加载之前就可以使用它。对于为例,如果你需要显示一个消息框,你会叫:
Ext.Msg.confirm("Confirmation", "Do you want to add " + value + " to the database ?");
Ext.Msg是不是你的类的一部分,你基本上只是告诉系统显示弹出。但是,如果你在启动应用程序时这样做,那么在类Ext.Msg已被加载之前,它会失败。
要总结:
扩展 =>当你需要成为一个类X
需要 =>当你需要使用一个类X
扩展 - 该类将扩展为一个父类。 u能在控制器或存储或模型,其延伸至一个父类看到此
例如
Ext.define("MyApp.controller.ExtendParent", {
extend: "Ext.app.Controller",
需要 - 从一个或多个其它类所需要的功能的类。
Ext.define("MyApp.controller.ExtendParent", {
extend: "Ext.app.Controller",
requires: [
'Ext.MessageBox',
'MyApp.store.ParentStore',
'MyApp.view.ParentView'
],
所以不同的是需要给来自多个类和扩展的功能只给出1? –
部分是。 Extends将尝试继承超类的行为。但需要尝试调用特定用法。不要试图深入挖掘。在这个例如“Ext.MessageBox”中显示对话框,你应该在需要的内部调用它 –
我不会说部分。 'extends'意味着这个类将成为一个子类。 'require'只是表示在完成类的定义之前应该加载所请求的类。 –