jjzjj

Factory_method_pattern

全部标签

javascript - JS 和 OOP : abuse of `that = this` pattern

我对JS世界比较陌生。我习惯用QT编写UI(构建UI的好工具!)。使用QT,我正在为每个元素创建一个类:如果我有一个包含一些元素的表,我有一个用于每个元素的类和一个用于表的类(可能也用于行)。每个类都包含数据和操作其“DOM”的方法。现在在html中,我正在使用一些在div上包含空骨架的ejs文件,我正在编写一个类以通过jquery对其进行操作。例如:用户列表.ejs:functionUsersList(path){this.path=path;$('#userList>tbody').empty();this.loadAjax();}UsersList.prototype.loadA

JavaScript ES6 : Grouping methods in es6 classes?

我们中的一些人正在尝试创建一个JavaScript库以在RESTfulAPI上快速运行JSON查询。我想做的是根据它们的目的对一组方法进行分组。例如;通过API,我能够获取用户属性。我不想将所有这些方法都放在主对象下,而是将它们分组在API类对象中。即转换这个:myAPI.getUserById()为此:myAPI.User.getByID()myAPI.User.getByName()我们将使用下面的代码作为一个简单示例。我如何将我的用户方法嵌套在myAPI类的用户对象中??classmyAPI{constructor(url){this.url=url;//Codetoconnec

javascript - react 模棱两可的错误消息 : "Check the render method of ` Constructor`.“

我在客户端使用React来呈现我的应用程序的View。当我在浏览器控制台中查看错误报告时,我有时会看到错误检查“Constructor”的渲染方法,而不是发生错误的类的正确名称。例如,我会看到如下消息:Warning:Eachchildinanarrayoriteratorshouldhaveaunique"key"prop.Checktherendermethodof`Constructor`.Seehttps:///react-warning-keysformoreinformation.为什么我的类(class)名称显示为Constructor?如何让React正确显示类的名称。

javascript - 无法让 jstree 工作 - "Uncaught TypeError: Object #<Object> has no method ' 委托(delegate)'”

我正在尝试让jstree插件工作,遵循此页面上的“预定义HTML”示例:http://luban.danse.us/jazzclub/javascripts/jquery/jsTree/reference/_examples/1_datasources.html为了避免与可能发生的任何其他事情发生冲突,我试图让它在尽可能简单的页面中工作,在我的公共(public)保管箱文件夹中:http://dl.dropbox.com/u/846812/jstree_example/jstree_example.html我在我的页面中包含的唯一js是jquery和主jstree文件,jsTree/j

javascript - 脚本 438 : Object doesn't support property or method 'debug'

我试图搜索这个但无济于事。我拥有的代码是由网站上一个非常好的人提供的,然后我修改了属性以使我适合的元素适合他们需要去的地方,但是,在所有浏览器中一切正常,也就是说,除了IE-漂亮很多版本。我在IE9中运行调试并得到这个错误“SCRIPT438:Objectdoesn'tsupportpropertyormethod'debug'它引用的代码段是这样的functionresizeContent(){//RetrievethewindowwidthvarviewPortWidth=$(document).width();varviewPortHeight=$(document).heigh

javascript - react .js : modify render() method for all components?

出于调试原因,我想将以下行添加到通用render()方法中,以便它在所有组件中执行。console.log('render'+this.constructor.displayName,this.state); 最佳答案 我假设您想在不更改任何现有代码的情况下执行此操作。我尝试了这个并找到了一种方法,如果您正在使用类似webpack或browserify的东西来构建您的应用程序并且您正在使用Reactv0.13。重要的是要注意,它使用私有(private)方法,进入React的内部,并且可能随时中断。也就是说,它可能对您的调试目的有用

javascript - D3 : data, enter, append pattern 向外部 block 添加数据

我正在使用D3javascript库来呈现一些基本的网络图表。我要加三个的元素block,但D3将元素添加到的末尾阻止。这是完整的html源代码:varchartData=[1,2,3];d3.select("html").select("body").append("svg").data(chartData,function(d){console.log("datad:",d);returnd;}).enter().append("path").attr("d",function(d){returnd;});Chrome的开发者控制台显示生成的html是:varchartData=[

javascript - 使用@method 或@property 的JSDoc 对象方法?

JSDoc3的documentation包括这个例子:/***ThecompleteTriforce,oroneormorecomponentsoftheTriforce.*@typedef{Object}WishGranter~Triforce*@property{boolean}hasCourage-IndicateswhethertheCouragecomponentispresent.*@property{boolean}hasPower-IndicateswhetherthePowercomponentispresent.*@property{boolean}hasWisdo

javascript - 错误信息。 "Props with type Object/Array must use a factory function to return the default value."

我正在使用Vue-Cli3.0。我将此模块用于Vue.js。https://github.com/holiber/sl-vue-tree这是一个可自定义的可拖拽的Vue.js树组件,但我发现它无法复制对象的功能。https://github.com/holiber/sl-vue-tree/blob/master/src/sl-vue-tree.js#L715因为这里。JSON.parse(JSON.stringify(entity))所以我使用了这个模块并编辑了复制功能。https://www.npmjs.com/package/clonevarclone=require('clone

javascript - 调用 Function.prototype.method() 时 TypeError : this. prototype is undefined

我正在读《Javascript:好的部分》这本书。现在我正在阅读有关增强类型的章节:Function.prototype.method=function(name,func){this.prototype[name]=func;returnthis;};更新:为什么下面的代码不起作用?js>Function.prototype.method("test",function(){print("TEST")});typein:2:TypeError:this.prototypeisundefined但是下面的代码没有问题:js>Function.method("test",function