草庐IT

装饰器

全部标签

ruby-on-rails - Spree 模块装饰器

我正在为我的在线商店使用SpreeCommerce。我想在结帐过程中更改一些行为,这些行为在spreegem内的app/models/spree/order/checkout.rb中定义。所以我在我的应用程序中的同一点创建了一个checkout_decorator.rb。问题是,我的更改没有加载。另一个问题是,模块内的所有内容都在一个方法内,即defself.included(klass)方法。所以我想我必须覆盖整个文件,而不是只覆盖一种方法。这是我的装饰器的样子:checkout_decorator.rbSpree::Order::Checkout.module_evaldodefs

ruby - 在将字符串写入日志文件之前从字符串中删除颜色装饰

我这样使用ruby​​记录器:$logger=Logger.newMultiIO.new($stdout,log_file)MultiIO是我从thisanswer得到的一个类.这在大多数情况下效果很好,但我正在使用'colored'ruby​​gem在终端上提供彩色输出。不幸的是,这也最终出现在日志文件中,因为ANSI转义看起来像[32mPASS[0m或一些类似的不可打印字符垃圾。清理日志文件字符串同时保持tty字符串颜色的最佳方法是什么?我不介意猴子修补Logger或MultiIO,但我绝对不希望对日志文件和屏幕进行两次不同的调用。 最佳答案

python - Ruby 中的装饰器(从 Python 迁移)

我今天从Python的角度学习Ruby。我完全没能解决的一件事是装饰器的等价物。为了精简内容,我尝试复制一个简单的Python装饰器:#!/usr/bin/envpythonimportmathdefdocument(f):defwrap(x):print"Iamgoingtosquare",xf(x)returnwrap@documentdefsquare(x):printmath.pow(x,2)square(5)运行这个给我:Iamgoingtosquare525.0因此,我想创建一个函数square(x),但要对其进行装饰,以便它在执行之前提醒我它要对什么进行平方。让我们去掉糖

javascript - 如何使用 Angular 的装饰器模式来增强指令的链接功能?

我正在研究Angular库并寻找一种使用装饰器模式扩展指令的方法:angular.module('myApp',[]).decorator('originaldirectiveDirective',['$delegate',function($delegate){varoriginalLinkFn;originalLinkFn=$delegate[0].link;return$delegate;}]);使用此模式扩充原始指令的最佳方式是什么?(示例用法:在不直接修改其代码的情况下对指令进行额外的监视或额外的事件监听器)。 最佳答案

javascript - 装饰器在 Nest Controller 中返回 404

我正在使用NestJS开发后端(顺便说一句,这太棒了)。我有一个“标准获取实体情况的单个实例”,类似于下面的示例。@Controller('user')exportclassUserController{constructor(privatereadonlyuserService:UserService){}......@Get(':id')asyncfindOneById(@Param()params):Promise{returnuserService.findOneById(params.id);}这非常简单并且有效-但是,如果用户不存在,服务将返回未定义并且Controller

javascript - 带有 React 组件的装饰器

我对能够使用@myDecorator语法(使用babel)感到非常兴奋。我正在尝试装饰生命周期函数之一,特别是componentWillMount,并检查装饰器中组件的props和context。但是,我似乎无法访问props或context。我不确定这是否是一种反模式,或者我只是在做这个错误。小例子://TestComponent.jsximportcheckPropsfrom'checkProps.js';classTestComponentextendsReact.Component{@checkPropscomponentWillMount(){//Dosomething.}r

javascript - Angular - 在方法开始和结束时触发 console.log() 的自定义方法装饰器

我想知道是否可以在Angular中创建自定义装饰器,将其应用于方法时可以实现以下功能:方法开始时的控制台日志方法结束时的控制台日志例子:没有装饰器:getRelationshipSource(){console.log('EnteringgetRelationshipSourcemethod');this.referenceDataService.getRefData('RLNSHPSC').subscribe(res=>{this.relationshipSource$.next(res);});console.log('LeavinggetRelationshipSourcemet

javascript - 静态方法在 ES6 类中未定义,在 reactjs 中带有装饰器

我有一个带有装饰器的ES6类。它有一个静态方法foo。但是,当我尝试访问静态方法时,它是未定义的。@withStyles(styles)classMyComponentextendsComponent{staticfoo(){return"FOO";}render(){varx=MyComponent.foo;//x=undefined}}当我删除装饰器时,我可以访问静态方法。它不再是未定义的。classMyComponentextendsComponent{staticfoo(){return"FOO";}render(){varx=MyComponent.foo;//x=foo()

javascript - 如何将带有装饰器的 React 组件重写为纯函数?

我正在使用airbnbeslint设置,其中有arulethatenforcesstatelessreactcomponentstoberewrittenasapurefunction.下面的组件触发这个规则,这意味着下面的组件最好写成纯函数:importReactfrom'react';import{observer}from'mobx-react';importcssmodulesfrom'react-css-modules';importstylesfrom'./index.css';importSelectfrom'../Select/';importListfrom'../L

javascript - 如何访问装饰器中的 ngStyle 键和值?

我的应用程序中有一个颜色名称列表。letcolours={mango:'#e59c09',midnight:'#1476a0'};我想扩展ngStyle指令以便能够理解我的自定义颜色名称。我正在通过decorating进行此操作ngStyle指令。然而,我在装饰器的编译函数上遇到了一场艰苦的战斗。我可以访问元素的ngStyle属性,但它以字符串形式出现(可以理解)。JSON.parse()对其不起作用,因为由于绑定(bind)一次等原因,它并不总是有效的JSON字符串...我只是想介入,遍历所有样式键,如果它包含color,我想检查值-如果它是上述自定义之一,则用十六进制替换颜色。我似