小编chr*_*s01的帖子

Angular:访问组件模板内部的外部静态类

可以说我在相应的类中有一个角度分量。

@Component({
  selector: "test",
  template: `       whatever    `
})

export class TestComponent
{}
Run Code Online (Sandbox Code Playgroud)

然后我有一个带有静态成员的类(绑定到该类而不是实例)。

export class Config
{
    public static foo () : string
    {  return "blabla"; }
}
Run Code Online (Sandbox Code Playgroud)

有什么方法可以在组件模板中调用Config.foo?

template: ` {{ Config.foo () }} `
Run Code Online (Sandbox Code Playgroud)

如果将它包装在TestComponent中并在我的组件中调用它,它将起作用。

template: `{{ myfoo () }}`
...
export class TestComponent
{
  myfoo ()
  { return Config.foo (); }
}
Run Code Online (Sandbox Code Playgroud)

但这不是我想要的。

Config应该包含全局配置信息,而我不想在许多组件中包装任何信息。

还是有一些更优雅的方式?我考虑过注入(单例),但是我更喜欢使用静态方式获取无状态的常量信息。

谢谢!

typescript angular

2
推荐指数
1
解决办法
996
查看次数

Java可选:更改值

我正在使用Java Optionals.

String in = "sam";
String ret = Optional.ofNullable (in).orElse ("NULL");  // "sam"
in = null;
ret = Optional.ofNullable (in).orElse ("NULL");         // "NULL"
Run Code Online (Sandbox Code Playgroud)

如果它不为null,是否可以扩展我的可选项以返回更改的值?

让我们说"#sam#"而不是"sam""NULL"在情况下null.

如果我已经改变了

in = "#" + in + "#" 
Run Code Online (Sandbox Code Playgroud)

它永远不会null,如果in == null它会返回"#null#"而不是"NULL".

java optional

2
推荐指数
1
解决办法
124
查看次数

Perl:检查文件(-f与!-d)

我有点困惑。我希望-f等于!-d

但似乎并非如此。我尝试检查文件是否为目录。

use File::Find;
find (\&found, ".");

sub found ()
{
  my $fn = $File::Find::name;
  if( ! -d $fn)
  {
    print "\n1 " . $fn;         # a file
  }
  else
  {
    print "\n0 " . $fn;         # a directory
  }
}
Run Code Online (Sandbox Code Playgroud)

结果!-d 是有关测试目录的期望。

0 .
1 ./Whatever.mp3
1 ./x.pl
0 ./bb
1 ./bb/Whatever.mp3
0 ./aa
1 ./aa/Whatever.mp3
Run Code Online (Sandbox Code Playgroud)

-f的结果是意外的。

0 .
1 ./Whatever.mp3
1 ./x.pl
0 ./bb
0 ./bb/Whatever.mp3            # ???
0 ./aa
0 ./aa/Whatever.mp3            # ???
Run Code Online (Sandbox Code Playgroud)

perl file

2
推荐指数
1
解决办法
68
查看次数

PL/SQL:如何将表名传递给动态 SQL?

我是 PL/SQL 的新手,我尝试SELECT通过参数动态设置表名。

这工作正常。

DECLARE 
  FUNCTION foo (pat VARCHAR) RETURN NUMBER IS
    tabname VARCHAR (100) := 'my_table';
    n NUMBER := -1;
    sqlcmd VARCHAR (100) := 'SELECT COUNT(*) FROM ' || tabname || ' WHERE bezeichnung LIKE :1';
  BEGIN
    EXECUTE IMMEDIATE sqlcmd INTO n USING pat;
    RETURN n;
  END foo;
BEGIN
    dbms_output.put_line (foo ('bla%'));
END;
Run Code Online (Sandbox Code Playgroud)

如果我尝试tabname按原样设置参数,pat则它会失败并显示错误:

无效的表名

DECLARE

  FUNCTION defval (pat VARCHAR, offs NUMBER) RETURN NUMBER IS
    tabname VARCHAR (100) := 'A_KGL_EIGENSCHAFTEN';
    n NUMBER := …
Run Code Online (Sandbox Code Playgroud)

oracle plsql

2
推荐指数
1
解决办法
113
查看次数

Java SOAP / JAX-WS:如何设置超时?

我正在用Java调用Web服务。它运行良好,但我也想设置连接超时。

我的代码:

URL urlwsdl = new URL ("file://" + wsdl);
QName qn = new QName("http://myserver/myservice", "MyService");
port = new TimeSeriesService_Service (urlwsdl, qn).getMyServicePort (); 

BindingProvider prov = (BindingProvider) port;
prov.getRequestContext ().put (BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://server1/myservice");
prov.getRequestContext ().put (BindingProvider.USERNAME_PROPERTY, "max");
prov.getRequestContext ().put (BindingProvider.PASSWORD_PROPERTY, "secret");

QueryRequest1 req = new QueryRequest1 ();
QueryResponse1 res = port.queryRequest1 (req);  // *** TIMEOUT for ~2 minutes
Run Code Online (Sandbox Code Playgroud)

我在互联网上找到了一些帖子。他们像我对http-auth一样使用绑定提供程序的上下文。

例如

prov.getRequestContext ().put ("com.sun.xml.ws.request.timeout", 1000000);
Run Code Online (Sandbox Code Playgroud)

但是它们使用的是我在命名空间中没有的对象。

例如

sun.net.client.defaultConnectTimeout
com.sun.xml.ws.connect.timeout
com.sun.xml.ws.request.timeout
Run Code Online (Sandbox Code Playgroud)

我有sun.net但没有.client。我有com.sun.xml,但没有.ws。

我有一个简单的Java JDK(1.7,Debian 8.3、64位),可以编译和运行我的Web服务,WebClient以及wsimport。没有安装netbeans,也没有安装jboss。

有什么想法可以设置超时时间吗?感谢帮助!克里斯

java soap web-services jax-ws

1
推荐指数
1
解决办法
1万
查看次数

Perl:在哈希值之后排序数组

在hash-val之后是否有一种"Perl-ish"方法对哈希数组进行排序?

my @l = ({k1 => "1", k2 => "one"}, {k1 => "2", k2 => "two"}, 
     {k1 => "3", k2 => "three"});

foreach (@l)
{
  print "\n" . $_->{k1} . ", " . $_->{k2};
}
Run Code Online (Sandbox Code Playgroud)

我得到的订单是我插入的订单(还有什么......).但我想在哈希值之后对其进行排序.我可以想象算法的方式.但我问的是一个可能已存在的功能或其他东西.

谢谢!

perl hash

1
推荐指数
1
解决办法
49
查看次数

Java:OOP,多重扩展

                  abstract class CAR
                       fuelUp () { // implemented }
                  /            \
interface SPORTER               interface TRUCK
    driveFast ();                    moveLoad ();
Run Code Online (Sandbox Code Playgroud)

在Java中有没有一种方法可以让我得到一个类ESTATE

  • CAR的实施fuelUp
  • 并且还必须实施driveFast 和moveLoad?

从多个类扩展是不可能的,并且使 CAR 成为一个接口并不能为我提供 CAR 的实现。

java oop polymorphism inheritance interface

1
推荐指数
1
解决办法
3290
查看次数

Perl:里面有变量的正则表达式?

有没有比这更优雅的将变量带入模式的方法(将模式放在字符串中,而不是直接在 // 中使用它)??

my $z = "1";  # variable
my $x = "foo1bar";

my $pat = "^foo".$z."bar\$";   
if ($x =~ /$pat/)
{
  print "\nok\n";
}
Run Code Online (Sandbox Code Playgroud)

regex perl

1
推荐指数
1
解决办法
73
查看次数

PrimeNG、SplitButton:如何将参数输入模型?

假设我想通过 PrimeNG SplitButton 触发函数 foo 和 bar。两者都有一个关于按钮本身的参数。

关于我想要为分配的功能设置参数的操作。

我可以为 foo 做,因为我是用 onClick 设置的。

但是我怎么能为酒吧做到这一点?

    <p *ngFor="let x of ['aaa','bbb','ccc']">
      <p-splitButton label="FOO for {{x}}" (onClick)="foo (x)" [model]="cmds"></p-splitButton>
    </p>
Run Code Online (Sandbox Code Playgroud)
    cmds : any = [{label: "BAR for x", command: () => { bar (x); }}];   // x is not here, how can I get it?
Run Code Online (Sandbox Code Playgroud)

primeng angular

1
推荐指数
1
解决办法
274
查看次数

Java 可选:not null 和方法 OR 默认值

我如何使用可选选项使其更短/更优雅?

ZonedDateTime zdt = getMyTime ();   // returns ZonedDateTime or null
String zdtstr = "";
if (zdt != null)
{
    zdtstr = zdt.format (myformatter);
}
else
{
    zdtstr = "???";
}
Run Code Online (Sandbox Code Playgroud)

我尝试了Optional.isPresentorElse,但它没有返回结果(我的示例中需要的字符串)。

java

0
推荐指数
1
解决办法
103
查看次数