jjzjj

design-patterns

全部标签

javascript - 在创建单例实例时传递选项的 TypeScript 模式

我有一个TypeScript单例类classMySingleton{privatestatic_instance:MySingleton;privateconstructor();publicstaticgetInstance(){if(!MySingleton._instance){MySingleton._instance=newMySingleton();}returnMySingleton._instance;}}现在,我想在创建这个单例实例时传递一些选项。例如,将实例模式设置为生产模式的选项。因此,这可以通过让getInstance接受一个传播到构造函数的选项对象来实现。那么

javascript - JavaScript 问题中的中介模式

我正在为我的工作创建一种基于调解器的库。我们创建了很多应用程序,所以我想要一些可以在每个应用程序的基础上轻松获取和修改的东西。我还希望它足够容易地创建“小部件”(因为缺少更好的术语)并且可以轻松删除它们而不用担心破坏任何东西。我们制作的许多这些应用程序也可以由外部开发人员进行扩展,这些开发人员制作应用程序或为应用程序制作小部件。这就是我遇到中介者模式的方式。我写了一些类似这样的东西://ExtendCore.extend('widget',function(params){alert(params.message);});//LoaditCore.load('widget',{mess

javascript - 谷歌地图 : Design Custom Price Marker

我正在开发一个使用ionic的移动应用程序,并且需要在谷歌地图中显示带有价格标记的地点,如下所示:我写了一个非常基本的代码来集成谷歌地图和标记。mapControllercontroller('MapController',function($scope,uiGmapGoogleMapApi,$log,$timeout,$state){$scope.map={center:{latitude:12.9250,longitude:77.5938},zoom:8,window:{show:false}};$scope.options={scrollwheel:false};$scope.m

javascript - 如何组织项目中的 JavaScript 代码以实现可维护性?

我主要是一名PHP开发人员,但最近我一直在使用JavaScript,主要是在jQuery中。问题是代码越来越难以调试,而这变得更加困难,因为我在HTML中散布着事件监听器。代码处理AJAX调用和DOM操作。 最佳答案 Separationofconcerns这意味着您拥有三种类型的文件,HTML、CSS和JS。您不要混合任何HTML、CSS或JS。它们中的每一个都在其自己的文件中。只需将所有内容分开并且从不使用内联javascript或内联CSS,您就可以解决大部分代码组织问题。另一种技术是打包器和压缩器。我选择的包装商是brows

javascript - 在二维数组上先运行 x 或先运行 y 的结构

我想将标志传递给通过列扫描或行扫描运行算法的函数:ifrun-on-xfor1..xfor1..ydosomethingwithary[x][y]elsefor1..yfor1..xdosomethingwithary[x][y]但我不想重复所有的循环和逻辑。我想出了这个:letnumPx=width*height;for(letpx=0;px但我认为所有的数学运算都相当繁重,尤其是当我在相当大的阵列上运行它时。有更好的方法吗? 最佳答案 也许像这样简单地将它们作为参数传入?:functioncolRowScan(1stAxis,2

javascript - 拆分字符串来初始化javascript数组有什么好处?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。这种模式很常见;我在几个地方看到过它,包括jQuery源代码:vararr="word1word2word3".split("");作为“正常”数组初始化方法的替代方法:vararr1=["word1","word2","word3"];vararr2=newArray("word1","word2","word3");字符串拆分方法有什么好处?

javascript - Bootstrap : Responsitive design - execute JS when window is resized from 980px to 979px

我使用的是上一个Twitter的Bootstrap。当我的窗口宽度小于980px时,我想执行某个JS函数(显示一次工具提示)(如你所知,在这个尺寸上,Bootstrap修改Navbar并隐藏标准菜单项)——窗口从768到979,简而言之.这个我知道@media(min-width:768px)and(max-width:979px){...}此选项可用于捕获事件。但是,它可能仅用于更改现有样式,例如body{background-color:#ccc;}我需要启动JS函数,或者为元素添加或删除特定样式。我试过:window.onresize=function(){if(window.o

javascript - 使用 Typescript 延迟加载模式

因此,对于C#和其他具有属性获取和设置评估程序的语言,构建延迟加载模式非常简单。我最近才开始使用TypeScript,并且我正在尝试实现相同的目标。我正在通过Ajax调用加载具有大部分属性的Poco。问题可以描述如下:exportinterfaceIDeferredObject{HasLoaded:boolean;DeferredURI:string;}exportclassLibrary{LibraryName:string;Books:IDeferredObject;}exportclassBook{Title:string;UniqueNumber:number;}window.

javascript - React - 对未安装的 JSX 行进行适当的状态管理?

我们有一个疯狂的DOM层次结构,我们一直在props中传递JSX,而不是嵌入子元素。我们希望基类管理显示哪些子文档,以及将哪些子文档停靠或附加到其关联文档窗口的顶部。List(疯狂的物理学将内联样式写入基类包装器)自定义表单(将JSX行传递给基类)基类(连接到列表)自定义表单(将JSX行传递给基类)基类(连接到列表)问题是我们正在传递深度嵌套的JSX,状态管理/访问表单中的引用是一场噩梦。我不想每次都重新声明每一行,因为这些行在基类中附加了附加状态,基类需要知道哪些行实际发生了变化。如果我不重新声明行,这很容易。我不知道如何实际处理自定义表单中的JSX行。Refs只能附加在render

javascript - 可重用的 JS ajax 模式 (jquery)

我想知道是否有更好的方法来为jquery创建可重用的ajax对象。这是我未经测试的代码。varsender={functionajax(url,type,dataType,callback){$.ajax({url:url,type:type,dataType:dataType,beforeSend:function(){onStartAjax();},error:function(XMLHttpRequest,textStatus,errorThrown){callback.failure(XMLHttpRequest,textStatus,errorThrown);},succes