小编Blu*_*ueM的帖子

Angular2:表单构建+异步数据加载

我有一个使用表单生成器(Angular2 Beta 1,TypoScript)创建的表单,即:在这里有类似的东西constructor:

this.form = this._formBuilder.group({
    'username': ['', Validators.required],
    'email': ['', Validators.required]
});
Run Code Online (Sandbox Code Playgroud)

表格显示,到目前为止一切都很好.我没有真正得到的是我如何处理时,我加载数据(在这种情况下:用户对象)的结合从远程服务(或其他一些异步加载机制).

我试过的是:

  • constructor或中异步加载数据ngOnInit.问题:即使在加载开始之前也会引发异常("无法读取未定义的属性'验证者'...")
  • constructor或中异步加载数据ngOnInit,但在此之前创建一个空表单.问题:验证不起作用.
  • 我期望工作:将表单数据绑定到User对象的属性,并设置该对象的属性.问题:没有例外,但数据没有显示在表单中.

我想必须有一些更聪明/更好的方法让这个工作?我对Angular2很新,所以我希望问题不是太愚蠢......

----更新----

首先,我忘了提到我ngFormModel在表格中使用- 如果它很重要.

和@Thierry:我认为"与表单绑定的临时空对象"是我尝试做的(上面提到的第3种方法)但是什么都行不通.确切地说,我试过这个:

constructor(private _formBuilder:FormBuilder) {
    this.user = new User;
    this.user.username = 'abc';
    this.form = this._formBuilder.group({
        'username': [this.user.username, Validators.required],
    });
}
Run Code Online (Sandbox Code Playgroud)

这显示了用户名,但是当我移动设置this.user.username为构造函数末尾的行时它甚至不起作用- 我觉得这很令人惊讶,因为我希望数据绑定能够解决这个问题.

angular2-forms angular

10
推荐指数
3
解决办法
8987
查看次数

TypeScript:是否有__FILE__编译器宏?

从我所知道的其他语言__FILE__或类似的表达式(例如:在PHP中为常量,在C预处理器宏中),用当前源文件路径替换.TypeScript中有这样的东西吗?

typescript

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

在 Jinja 模板中使用 Ansible 控制主机的 IP 地址

我想将 IP 地址插入到 Ansible playbook 使用的 J2 模板中。该 IP 地址不是正在配置的主机的地址,而是完成配置的主机的 IP。到目前为止,我发现的所有内容都涵盖了使用与所配置的主机相关的变量/事实。\n换句话说:I\xe2\x80\x99d 喜欢插入的 IP 是[\'ansible_default_ipv4\'][\'address\']执行ansible -m setup 127.0.0.1.

\n\n

我认为我可以使用本地剧本编写一个包含 IP 的动态生成的模板文件,但我希望这可能是 \xe2\x80\x9cAnsible 方式\xe2\x80\x9d。

\n

ansible ansible-facts

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

Nightwatch.js:拖放

我正在尝试使用 Nightwatch.js 0.8.18、Selenium Server 2.53.0 和 Chrome Driver 2.21.2 测试拖放操作。

基本上,我采用了https://github.com/RobK/nightwatchjs-drag-n-drop-example/blob/master/spec/drag-and-drop.js 中描述的方法——即:类似......

.moveToElement('some-xpath-expression', 10, 10)
.pause(100)
.mouseButtonDown(0)
.pause(100)
.moveToElement('other-xpath-expression', 30, 30)
.pause(100)
.mouseButtonUp(0)
Run Code Online (Sandbox Code Playgroud)

光标移动到要拖动的元素(可以通过:hover鼠标悬停的图标样式感知),但随后什么也没有发生。在我看来,该mouseButtonDown()操作没有任何效果。(但谁知道呢?)

如果我使用 Firefox 而不是 Chrome 并没有什么区别——行为完全相同。

有任何想法吗?

selenium drag-and-drop nightwatch.js

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