草庐IT

管道化

全部标签

javascript - 制作大型列表的副本以触发 Angular 2 中影响性能的纯管道的更改检测

我有一个包含50,000多个对象的数组a,我有一个管道接收这个数组a并将其转换为一些输出,然后显示在View中。管道是纯粹的意思,只有当对数组a的引用发生变化时,它才会重新计算。我有一个方法modifyArray,它可以从数组a中添加/删除一些元素。完成后,我希望重新评估管道,以便重新呈现View。由于Angular强制执行不变性的方式,我对管道进行重新评估的唯一选择是让方法modifyArray返回数组a应用更改后,Angular可以检测到引用已更改并触发管道,如下所示:modifyArray(a:T[]):T[]{a.push(b);a.slice(c);return[...a];

javascript - 管道在这个 AngularJS 表达式中做了什么

{{item.title}}{{item.price|currency}}{{item.price*item.quantity|currency}}Total:{{totalCart()|currency}}Discount:{{bill.discount|currency}}Subtotal:{{subtotal()|currency}}上面代码中的|-它做了什么? 最佳答案 管道符号(|)用于在AngularJS中应用过滤器。过滤器是一个被调用以处理模型转换的函数。它基本上只是一个全局函数,不需要在作用域上注册函数,并为常规函数

javascript - 管道 RxJS 可观察到现有主题

有正在使用的现有主题:constfooSubject=newBehaviorSubject(null);还有另一个可观察对象(本例中的另一个主题):constbarSubject=newSubject();barSubject.subscribe(value=>fooSubject.next(),err=>fooSubject.error(err),()=>fooSubject.complete());barSubject.next('bar');代码有效但看起来很笨拙。是否有更好的方法将barSubjectobservable管道(广义上,不一定使用pipe运算符)fooSubjec

javascript - 如何使用 Rails Assets 管道执行每页 javascript

我明白,出于性能原因,最好让Assets管道连接并缩小我所有的javascript,并在每次页面请求时发送全部内容。这很公平但是,我的一堆javascript是将特定行为绑定(bind)到特定页面元素之类的东西——比如$('button').click(function(e){$('input.sel').val(this.name);}如果我知道这段代码只在那个页面上执行,我会感觉更舒服-而不是在可能巧合地具有具有相同ID的元素或匹配相同选择器的每个其他页面上人们如何处理这个?我宁愿不把所有这些东西内联到元素中,只是因为当它超过两行时,在.html.erb文件中保持javascrip

javascript - 如何在 ts 而不是 HTML 中使用管道

我从ts添加文本到html元素像这样this.legend.append('text').attr('x',legendRectSize+legendSpacing).attr('y',legendRectSize-legendSpacing).text(function(d){returnd;});这将创建类似的htmlDatawillcomehere我想用管道将这些数据转换成某种形式我怎样才能从ts代码做到这一点?并且当我动态创建这个HTML时,我不能像这样使用管道{{Datawillcomehere|pipename}}我在找类似的东西this.legend.append('te

javascript - 使用 Rails 3.1 Assets 管道包括外部库

背景:我想使用freebasesuggest在我的应用程序中。我打算使用coffeescript将自动完成添加到#location输入:$->$("#location").suggesttype:"location"这将包含在我的application.js文件中require_tree的Assets管道中://=requirejquery//=requirejquery_ujs//=requiremodernizr//=require_tree.我必须将suggest.min.js复制到app/assets/javascripts并要求它作为//=requiresuggest.min

javascript - 使用一个管道 Angular 2 在多个列上进行过滤

我正在尝试仅使用一个Pipe根据多列过滤Array数据。现在,它过滤第一列值。请检查我的以下代码并帮助我解决这个问题。我的代码:@Pipe({name:"dataFilter",pure:false})exportclassDataFilterPipeimplementsPipeTransform{transform(value:Array,filter:any[]){if(!filter){returnvalue;}elseif(value){returnvalue.filter(item=>{for(vari=0;i我正在传递类似dataFilter的数据:[['column1',

javascript - 用管道替换字符串中的所有反斜杠

我有字符串:\rnosapmdwq\salesforce\R3Q\OutputFiles\Archive当我尝试将其发送到.NETWeb服务时,我收到无法识别的转义序列。我正在尝试用“|”替换所有的“\”将其发送到服务器。我知道我可以使用replace方法,但它只会替换第一个元素。我想我需要使用正则表达式来解决它。这是我目前所拥有的:Path=Path.replace("\\/g","|");虽然这是错误的。 最佳答案 您不需要将正则表达式设为字符串,这有助于将第一个/放入其中Path=Path.replace(/\\/g,"|")

javascript - 延续传递风格与管道有什么不同吗?

我一直在学习continuationpassingstyle,特别是asynchronousversion在javascript中实现,其中一个函数将另一个函数作为最终参数并创建对其的异步调用,将返回值传递给第二个函数。但是,除了重新创建管道(如在unix命令行管道中)或流之外,我不太明白延续传递如何做:replace('somestring','somepattern',filter(str,console.log));对比echo'somestring'|replace'somepattern'|filter|console.log除了管道要干净得多。使用管道,很明显数据被传递,同

php - 使用php写入linux中的管道

我在linuxmkfifo/tmp/myFIFO中创建了一个管道,现在我将chmod设置为777..然后我有一个c应用程序读取管道并输出我写入管道的内容。当我在php中以这种方式执行时,这有效..$command="echo'helloworld'>myFIFO";$process=proc_open($command,$descriptor,$pipes,$cwd,$env);但是当我用fwrite来做的时候$out=fopen("/tmp/myFIFO","w");fwrite($out,"hello");fclose($out);它根本不起作用。我在Linux中没有从我的管道获得