在Angular 2中,我有一个包含子组件的组件.但是,我想获取要在父级中使用的子组件的副本,以调用其函数或其他任何内容.
我发现我可以使用局部变量,这样我就可以在模板中使用该组件.但是,我不要只在模板中使用它,我想在组件的实际代码中使用它.
我找到了一种方法,这里是子代码:
//our child
import {Component, OnInit, EventEmitter} from 'angular2/core'
@Component({
selector: 'my-child',
providers: [],
template: `
<div>
<h2>Child</h2>
</div>
`,
directives: [],
outputs: ['onInitialized']
})
export class Child implements OnInit{
onInitialized = new EventEmitter<Child>();
constructor() {
this.name = 'Angular2'
}
ngOnInit() {
this.onInitialized.emit(this);
}
}
Run Code Online (Sandbox Code Playgroud)
家长:
//our root app component
import {Component} from 'angular2/core'
import {Child} from './child'
@Component({
selector: 'my-app',
providers: [],
template: `
<div>
<h2>Hello {{name}}</h2>
<my-child (onInitialized)="func($event)"></my-child>
</div>
`,
directives: [Child]
})
export class …Run Code Online (Sandbox Code Playgroud) 我有2个表单域,我想验证第二个表单域以匹配第一个表单域的密码,我尝试了但没有成功..谢谢回答。
更新:我已经具有提交按钮及其功能,我想要第二个字段中的Validator来验证第一个字段文本以匹配第二个字段。
new TextFormField(
controller: _registerPassController,
decoration: new InputDecoration(labelText: 'Password'),
obscureText: true,
validator: (value) =>
value.isEmpty ? 'Password can\'t be empty' : null,
onSaved: (value) => _password = value,
),
],
),
new Stack(
alignment: const Alignment(1.0, 1.0),
children: <Widget>[
new TextFormField(
controller: _registerPassController2,
decoration: new InputDecoration(labelText: 'Retype Password'),
obscureText: true,
validator: (value) {
if (value.isEmpty) {
return 'Please enter some text';
}
},),
Run Code Online (Sandbox Code Playgroud) 我正在运行MapReduce管道程序,我已将内存限制设置如下:
在yarn-site.xml中:
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>3072</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>256</value>
</property>
Run Code Online (Sandbox Code Playgroud)
在mapred-site.xml中:
<property>
<name>mapreduce.map.memory.mb</name>
<value>512</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>512</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx384m</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx384m</value>
</property>
Run Code Online (Sandbox Code Playgroud)
我目前在伪分布式模式下运行在单个节点上.在容器被杀之前我收到以下错误:
2015-04-11 12:47:49,594 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1428741438743_0001_m_000000_0: Container [pid=8140,containerID=container_1428741438743_0001_01_000002] is running beyond virtual memory limits. Current usage: 304.1 MB of 1 GB physical memory used; 1.0 TB of 2.1 GB virtual memory used. Killing container.
Run Code Online (Sandbox Code Playgroud)
我担心的主要问题是使用了1.0 TB的虚拟内存,我运行的应用程序远远没有消耗这么多的内存,它甚至远远没有消耗1 GB的内存.
这是否意味着我的代码中存在内存泄漏,或者我的内存配置是否错误?
谢谢.
问候,