小编Pav*_*l_K的帖子

如何在 Vue3 中使用 Composition API 获取 $refs?

我正在尝试使用 Composition API 在 Vue 3 中获取 $refs。这是我的模板,它有两个子组件,我需要获取对一个子组件实例的引用:

<template>
    <comp-foo />
    <comp-bar ref="table"/>
</template>
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我使用Template Refs: ref 是一个特殊属性,它允许我们在安装后获取对特定 DOM 元素或子组件实例的直接引用。

如果我使用 Options API 那么我不会有任何问题:

  mounted() {
    console.log("Mounted - ok");
    console.log(this.$refs.table.temp());
  }
Run Code Online (Sandbox Code Playgroud)

但是,使用 Composition API 时出现错误:

setup() {
    const that: any = getCurrentInstance();
    onMounted(() => {
      console.log("Mounted - ok");
      console.log(that.$refs.table.temp());//ERROR that.$refs is undefined
    });
    return {};
  }
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何使用 Composition API 来做到这一点?

javascript typescript vue.js vuejs3

59
推荐指数
3
解决办法
13万
查看次数

Stream.of 和 IntStream.range 有什么区别?

请考虑以下代码:

System.out.println("#1");
Stream.of(0, 1, 2, 3)
        .peek(e -> System.out.println(e))
        .sorted()
        .findFirst();

System.out.println("\n#2");
IntStream.range(0, 4)
        .peek(e -> System.out.println(e))
        .sorted()
        .findFirst();
Run Code Online (Sandbox Code Playgroud)

输出将是:

#1
0
1
2
3

#2
0
Run Code Online (Sandbox Code Playgroud)

谁能解释一下,为什么两个流的输出不同?

java java-stream

52
推荐指数
2
解决办法
2265
查看次数

是否可以在Java 9中动态加载和卸载jdk和自定义模块?

我是JPMS的初学者,无法理解它的活力.例如,在当前的JVM实例中moduleA.jar正在运行.moduleA只需要java.base模块.现在,我想要

  1. 动态加载moduleB.jar需要java.sql模块和moduleC.jar
  2. 执行一些代码 moduleB
  3. 卸载moduleB,java.sql,moduleC从JVM并释放所有资源.

可以在Java 9模块系统中完成吗?

java java-9

23
推荐指数
2
解决办法
2921
查看次数

如何将std :: string_view转换为double?

我正在为应用程序的自定义选项文件编写c ++解析器.我有一个循环,option=value从文本文件的形式读取行value必须转换为double.在伪代码中,它执行以下操作:

while(not EOF)
    statement <- read_from_file
    useful_statement <- remove whitespaces, comments, etc from statement
    equal_position <- find '=' in useful_statement
    option_str <- useful_statement[0:equal_position)
    value_str <- useful_statement[equal_position:end)
    find_option(option_str) <- double(value_str)
Run Code Online (Sandbox Code Playgroud)

为了处理字符串拆分和传递给函数,我使用std::string_view它是因为它避免了过多的复制并清楚地说明了查看预先存在的段的意图std::string.我已经做了所有事情,指向其中std::string_view value_str确切部分的点useful_statement包含我想要提取的值,但我无法弄清楚从a中读取a double的方法std::string_view.

我知道std::stod哪个不起作用std::string_view.它允许我写

double value = std::stod(std::string(value_str));
Run Code Online (Sandbox Code Playgroud)

然而,这很难看,因为它转换为实际上不需要的字符串,即使它可能在我的情况下没有明显的差异,如果必须从文本中读取大量的数字,它可能会太慢文件.

另一方面,atof因为我无法保证null终止符,所以不起作用.我可以通过在构造它时添加\0来破解它useful_statement,但这会使代码混淆给读者并且如果代码被更改/重构则使其容易破解.

那么,什么是干净,直观和合理有效的方法呢?

c++ string-view c++17

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

正整数乘以负值

我正在通过阅读Stroustrup的"使用C++的原理和实践"来学习C++.

在关于前置和后置条件的部分中,有以下函数示例:

int area(int length, int width)
// calculate area of a rectangle;
// pre-conditions: length and width are positive
// post-condition: returns a positive value that is the area
{
    if (length<=0 || width <=0) 
        error("area() pre-condition");

    int a = length*width;

    if (a<=0) 
        error("area() post-condition");

    return a;
}
Run Code Online (Sandbox Code Playgroud)

困扰我的是关于这段代码的任务:

找到一对值,以便此版本区域的前置条件成立,但后置条件不会.

是否存在整数的可能值,前置条件是可以的但后置条件不是?

c++ integer

18
推荐指数
4
解决办法
3478
查看次数

XDocReport使用OSGI将ODT转换为PDF

要开始使用XDocReport,我想将ODT转换为PDF.

我的所有应用程序都是OSGi.所以我安装了以下捆绑包:

fr.opensagres.xdocreport.converter-1.0.5.jar
fr.opensagres.xdocreport.core-1.0.5.jar
fr.opensagres.xdocreport.document-1.0.5.jar
fr.opensagres.xdocreport.itext.extension-1.0.5.jar
fr.opensagres.xdocreport.template-1.0.5.jar
Run Code Online (Sandbox Code Playgroud)

除了类路径我itext-4.2.1.jar(它不是OSGi包),我导出以下包:

  <package name="com.lowagie.text"/>
  <package name="com.lowagie.text.factories"/>
  <package name="com.lowagie.text.pdf"/>
  <package name="com.lowagie.text.pdf.draw"/>
Run Code Online (Sandbox Code Playgroud)

但是,我没有使用以下代码获取转换器:

Options options = Options.getFrom(DocumentKind.ODT).to(ConverterTypeTo.PDF);
IConverter converter = ConverterRegistry.getRegistry().getConverter(options);
in = new FileInputStream(new File("/Temp/Test1.odt"));
OutputStream out = new FileOutputStream(new File("/Temp/Test1.pdf"));
converter.convert(in, out, options); //HERE I GET NullPointerException - converter is null.
Run Code Online (Sandbox Code Playgroud)

试图解决这个问题我添加了以下包:

org.odftoolkit.odfdom.converter.core-1.0.5.jar
org.odftoolkit.odfdom.converter.pdf-1.0.5.jar
Run Code Online (Sandbox Code Playgroud)

但是,我得到:

org.osgi.framework.BundleException:bundle org.odftoolkit.odfdom.converter.core中未解决的约束[43]:无法解析43.0:缺少要求[43.0] osgi.wiring.package; (osgi.wiring.package = org.odftoolkit.odfdom.dom)

为了解决问题org.odftoolkit.odfdom.dom我添加odfdom-java-0.8.7.jar到classpath(它也不是OSGi)并导出以下包:

   <package name="org.odftoolkit.odfdom.doc"/>
   <package name="org.odftoolkit.odfdom.dom"/>
   <package name="org.odftoolkit.odfdom.dom.element.draw"/>
   <package name="org.odftoolkit.odfdom.dom.element.office"/>
   <package name="org.odftoolkit.odfdom.dom.element.style"/>
   <package name="org.odftoolkit.odfdom.dom.element.table"/>
   <package name="org.odftoolkit.odfdom.dom.style"/>
   <package name="org.odftoolkit.odfdom.incubator.doc.office"/> …
Run Code Online (Sandbox Code Playgroud)

java osgi itext odftoolkit xdocreport

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

OSGi应用程序如何在Java 9上运行?

我试图理解OSGi应用程序如何在Java 9中工作,假设OSGi包不是JPMS模块(据我所知,仍然没有OSGi包可以同时用于生产的JPMS模块的解决方案).我有几个问题:

  1. 我是否理解所有OSGi应用程序都是一个未命名的模块?
  2. 如果#1是,那怎么Bundle.update()办?捆绑包是否重新加载到未命名的模块?

如果我理解错误,请解释主要原则.

java osgi java-9

14
推荐指数
2
解决办法
2672
查看次数

什么是cout/cin?

我认识Java,现在想学习C++.我无法理解什么是cout(字符输出流)和cin(字符输入).这些全局变量?那么为什么

"My message">>cout; 
Run Code Online (Sandbox Code Playgroud)

不起作用?但

cout<<"My message";
Run Code Online (Sandbox Code Playgroud)

作品.

c++

13
推荐指数
2
解决办法
5181
查看次数

使用slf4j打印数组仅打印第一个元素

我有以下代码:

private static final Logger logger = LoggerFactory.getLogger(Some.class);
...
String[] splits=someString.split("..");
logger.info("The string was split into <{}>",splits); // prints first element
Run Code Online (Sandbox Code Playgroud)

使用slf4j打印数组的完整内容的正确方法是什么?

java slf4j

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

如何在Java 9中以编程方式获取所有模块的列表?

如何通过Java代码获取当前JVM实例中所有模块的列表?可能吗?如果是,那怎么样?

java java-9 java-module

12
推荐指数
2
解决办法
2160
查看次数