小编Ren*_*ler的帖子

异步 EventEmitter 的用例

我注意到可以在 Angular 中创建同步或异步 EventEmitter。据我所知,默认是同步。

https://github.com/angular/angular/blob/master/packages/core/src/event_emitter.ts

据我所知,sync 意味着事件处理程序(generatorOrNext、error 和 complete)在与事件生成相同的变更检测周期中执行,而 async 意味着事件处理程序在另一个变更检测中执行循环(因为处理程序包含在触发更改检测的 setTimeout 方法中)。

当异步行为是一个优势(可能是一些与性能相关的用例)时,我想不出具体的用例?也许有人可以给我一个简短的具体用例?

angular

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

Angular Material 6中的CustomeDateAdapter

我已经实现了一个CustomDateAdapter,如下所述:https : //medium.com/@esanjiv/working-with-custom-dateadapter-for-angular-material-2-datepicker-76d4446277dc

现在,我正在进行Angular Material 6迁移,并且出现以下错误

core.js:1598 ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'TRIDENT' of undefined
TypeError: Cannot read property 'TRIDENT' of undefined
at CustomDateAdapter.NativeDateAdapter [as constructor] (core.es5.js:792)
at new CustomDateAdapter (custom-date-adapter.ts:21)
at _createClass (core.js:9262)
...
Run Code Online (Sandbox Code Playgroud)

core.es5.js第792行是这样的:

_this.useUtcForDisplay = !platform.TRIDENT;
Run Code Online (Sandbox Code Playgroud)

似乎平台未定义。

我注意到NativeDateAdapter的构造函数已在材料6中进行了更改,它还需要一个平台作为输入。

constructor(matDateLocale: string, platform: Platform);
Run Code Online (Sandbox Code Playgroud)

我缺少什么?如何在Angular Material 6中实现CustomDateAdapter?

angular-material angular angular6

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

CSS div填充父级高度

我有以下HTML

<div class="container">
  <div class="item-1">
    item 1
  <div>
  <div class="item-2">
    item 2
  <div>
</div>
Run Code Online (Sandbox Code Playgroud)

因此,我创建了以下代码笔示例http://codepen.io/anon/pen/EWXpVV

我要在父div的顶部放置蓝色div。父div的剩余高度应填充第二个子div(红色的div)。

我如何才能实现红色div的高度完全覆盖父div的区域?

<div class="container">
  <div class="item-1">
    item 1
  <div>
  <div class="item-2">
    item 2
  <div>
</div>
Run Code Online (Sandbox Code Playgroud)
.container {
  background-color: green;
  height: 200px;
}

.item-1 {
  background-color: blue;
}

.item-2 {
  background-color: red;
}
Run Code Online (Sandbox Code Playgroud)

css flexbox

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

vue.js 中获取 axios 的响应数据

我正在尝试从 REST API 获取响应数据并将其显示在我的 vue.js 应用程序中,如下所示:

var database = new Vue({
    el: '#database',
    data: {
        databaseConfiguration: {
            type: '',
            url: '',
            port: '',
            username: '',
            password: ''
        },
        errors: []
    },
    created: function () {
        axios.get('/config/database')
            .then(function (response) {
                this.databaseConfiguration = response.data;
                console.log(response.data);
            })
            .catch(function (error) {
                this.errors.push(error);
                console.log(error);
            })
    }
}
)
Run Code Online (Sandbox Code Playgroud)

如果我调试它,我会发现响应是从 REST API 正确获取的。但不幸的是数据没有显示在html页面上。html 代码如下所示:

<div id="database" class="panel panel-default panel-primary">
    <div class="panel-heading">
        <h3 class="panel-title">Database Configuration</h3>
    </div>
    <div class="panel-body">
        <form class="form-horizontal">
            <div class="form-group">
                <label for="inputType" class="col-sm-2 control-label">Type</label>
                <div …
Run Code Online (Sandbox Code Playgroud)

vue.js axios

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

Lombok Builder 和 Jackson 默认值

我想从序列化中排除一些默认属性。我有以下课程

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Builder;

@JsonInclude(Include.NON_DEFAULT)
@Builder
public class RunTime
{

@JsonProperty
@Builder.Default
private String mystring = "any";

@JsonProperty
@Builder.Default
private Boolean myboolean = true;

@JsonProperty
@JsonInclude(Include.ALWAYS)
@Builder.Default
private Boolean always = true;

}
Run Code Online (Sandbox Code Playgroud)

另外我写了这个测试:

    @Test
    public void test() throws JsonProcessingException
    {
    RunTime rac = RunTime.builder().build();
    ObjectMapper mapper = new ObjectMapper();
    String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(rac);

    assertThat(json).doesNotContain("mystring");
    assertThat(json).doesNotContain("myboolean");
    assertThat(json).contains("always");
   }
Run Code Online (Sandbox Code Playgroud)

我只想always在 json 字符串中包含布尔属性。不幸的是,测试失败了,因为每个属性都包含在内。但是,当我删除 Lombok 构建器并自己实例化对象时,我注意到所有这些都正常工作。我怎样才能让它与 Lombok 一起工作?

java jackson lombok

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

Spring 中使用 Apache FtpServer 时出现“BindException:地址已在使用中”

我按如下方式配置了 Apache FtpServer:

@Component
public class FtpDummyServer {

private FtpServer server;

@PostConstruct
public void init() throws FtpException {
    ..some initialization
    this.server = serverFactory.createServer();
    this.server.start();
}

@PreDestroy
public void stop() {
    this.server.stop();
}
Run Code Online (Sandbox Code Playgroud)

请注意,服务器在@PostConstruct 中自动启动。我在 SpringBoot 中配置了不同的测试,如下所示:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MainApplication.class)
@WebIntegrationTest
public class ApplicationTestX {
...
}
Run Code Online (Sandbox Code Playgroud)

当我单独运行测试时,它们成功了。然而,当我一起运行它们时,我得到了一个java.net.BindException: Address already in use: bind. 我怎样才能避免这种情况?

java spring spring-boot

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