jjzjj

design-patterns

全部标签

javascript - ant design 选择占位符问题

我在我的React应用程序中使用antddesign。这是我遇到问题的代码片段:现在,如果this.state.company不是null,它会显示选择的正确值。但是,如果this.state.company为empty或null,则不会显示占位符。如何解决这个问题,以便在value为null时显示占位符? 最佳答案 将this.state.company设置为未定义而不是null。 关于javascript-antdesign选择占位符问题,我们在StackOverflow上找到一个类

JavaScript 库模式

我正在尝试找出创建JavaScript库(类)的基本模式。我想以这样的方式进行,即它不会用一堆垃圾污染全局命名空间,但允许该类具有实例变量和修改这些实例变量的公共(public)方法。考虑以下玩具示例。我想创建一个类Foo。它应该包含一个实例成员bar,它是一个数字。Foo应该有一个构造函数,它接受一个数字并使用该数字初始化其实例bar。应该有一个实例方法,我可以调用Foo对象来修改bar。也许使用该库的代码如下所示:varfoo1=newFoo(1);varfoo2=newFoo(2);console.log(foo1.bar);//shouldprint"1"console.log

javascript - nodejs并行回调设计模式

我正试图找到一个好的模式来执行一堆并行任务。让我定义一些任务来举例说明。任务a,b,c,d,e,f,g执行为a(function(er,ra){//taskareturned,raisresult}),b到g也是如此还有一些任务应该在某个任务完成后执行,我们称之为ab,bc,abc,bd,bcd,af,fg,意思是a和b返回了ab(ra,rb)应该立即执行,当b和c返回,bc(rb,rc)应该立即执行,如果a,b,c全部返回,abc(ra,rb,rc)应该被执行。对于最简单的情况,如果只有a和b,我可以这样做:(function(cb){varcount=2,_ra,_rb;funct

javascript - 单元测试有状态 RequireJS 模块的模式

假设我有一个RequireJS模块,并且我的应用程序中只有一个实例(假设它执行异步操作并向其传递了回调)://modules/myModuledefine(function(){varmodule=function(){varself=this;self.runSomething(){console.log("helloworld");};};returnnewmodule();});我想对这个模块的一个实例进行单元测试,我发现自己是这样构建模块的://modules/myModuledefine(function(){returnfunction(){varself=this;sel

javascript - Material design lite,检查滚动是否到达底部

我正在使用MaterialDesignlite和Angular.js。当事件到达底部时无法调用事件。我几乎尝试了所有解决方案,但没有奏效。像jQuery解决方案:$(window).scroll(function(){if($(window).scrollTop()+$(window).height()==$(document).height()){alert("bottom!");}});或者Javascript之一:document.addEventListener('scroll',function(event){if(document.body.scrollHeight==do

javascript - 获取 linting 错误 - 错误 Unexpected empty object pattern no-empty-pattern

我收到以下代码的linting错误-“错误意外的空对象模式no-empty-pattern”。有谁知道如何解决这个问题?它是一个tsx文件。conststateToProps=({},{data=[],filters={},staticFilters=[{}]})=>{constallFilters=staticFilters?Object.assign({},filters,...staticFilters):filters;constnewData=getFilteredRows(allFilters,data);return{data:newData,unfilteredData

javascript - 构建 JavaScript 模块的更好方法?

我能得到一些关于我的js模块的建议吗?我擅长js,但不是大师地位:)我重构我的模块了吗?我一直在使用这样的js模块模式(粗略的例子,我只是担心结构):草率的方式?/*ModuleCode*/varMapModule=(function($){var$_address;var$_mapContainer;functionloadApi(){//dosomething.maybeloadanAPI?}functionsomeInternalMethod(){//dootherthings}varpub={};pub.setAddress=function(address){$_addres

javascript - Javascript 中的 PubSub/松散耦合和 MVC 模式

好吧,我是这方面的新手,我一直在尝试研究Javascript/jQuery中的MVC模式和发布/订阅模式,但我相信我还没有完全掌握这个概念。由于我一直是一个人做的,所以我谦虚地来这里征求有关我尝试按照这些模式进行的小型教育练习的意见http://jsfiddle.net/Couto/R62V8/好的,这个练习主要是一个登录表单,其中的值保存在localStorage中,同样它纯粹是教育性的,我现在无论如何都不安全,不应该在生产中使用它。能否请您告诉我您对使用的模式的看法,我是否未能正确使用模式?如果需要请伤害我,我只是想学习,但我不确定我是否做对了。 最佳答

javascript - 基于原型(prototype)继承在实际项目中的应用

基于类的继承展示了它在创建大型编程系统(尤其是GUI系统)中的有用性。如何在现实生活中应用基于原型(prototype)的继承?我们应该如何构建系统而不是创建类层次结构?对于基于类的OOP,是否存在任何基于真正原型(prototype)的OOP的编程模式? 最佳答案 nahab:ArehereexistanyprogrammingpatternsforrealprototypicalbasedOOPasexistsforclass-basedOOP?这question应该会指导您找到一些关于实用Javascript设计模式的好资源。

javascript - 使用javascript将一个对象数组展平为另一个对象数组

我在多种环境和语言中遇到过这个问题,我总是能够解决它,但我想最终找到一个合适的模式来处理这个问题。它来自连接SQL表。通常我会打两个电话,一个用于项目,一个用于评论,但我知道有一种方法可以在一个电话中完成所有操作,然后将结果拉平。我想做的是采用如下所示的数组:[{itemId:1,comments:{commentId:1}},{itemId:1,comments:{commentId:2}},{itemId:2,comments:{commentId:3}}]然后把它变成这样:[{itemId:1,comments:[{commentId:1},{commentId:2}]},{it