我有一个使用表单生成器(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为构造函数末尾的行时它甚至不起作用- 我觉得这很令人惊讶,因为我希望数据绑定能够解决这个问题.
从我所知道的其他语言__FILE__或类似的表达式(例如:在PHP中为常量,在C预处理器宏中),用当前源文件路径替换.TypeScript中有这样的东西吗?
我想将 IP 地址插入到 Ansible playbook 使用的 J2 模板中。该 IP 地址不是正在配置的主机的地址,而是完成配置的主机的 IP。到目前为止,我发现的所有内容都涵盖了使用与所配置的主机相关的变量/事实。\n换句话说:I\xe2\x80\x99d 喜欢插入的 IP 是[\'ansible_default_ipv4\'][\'address\']执行ansible -m setup 127.0.0.1.
我认为我可以使用本地剧本编写一个包含 IP 的动态生成的模板文件,但我希望这可能是 \xe2\x80\x9cAnsible 方式\xe2\x80\x9d。
\n我正在尝试使用 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 并没有什么区别——行为完全相同。
有任何想法吗?