Angular2:在EventEmitter中传递单个参数

时间:2016-02-22 16:50:55

标签: angular eventemitter angular2-forms

我有两个组件,一个'创建'组件和孩子的形式'零件。我需要表单组件来传递submit事件和表单数据。

真正的问题是当我记录收到的事件时,我得到2,而不是一个事件/ arg。这是它记录的内容:Error deploying application: <!DOCTYPE HTML> <html> <body> <title>Error</title> <style type="text/css"> body { font-family: 'Helvetica Neue', Helvetica, Arial, san-serif; padding: 0; margin: 0; text-align: center; } .meteor { padding-top: 200px; padding-bottom: 20px; height: 142px; } .message { padding-top: 50px; font-size: 3em; color: #777; letter-spacing: -1px; font-weight: bold; } .submessage { padding-top: 20px; font-size: 1.5em; color: #777; letter-spacing: -1px; font-weight: bold; } .counter { padding-top: 30px; font-size: 1em; color: #aaa; letter-spacing: -1px; } </style> </head> <body> <div class="meteor"><img src="//warehouse.meteor.com/mother-assets/meteor-logo-final.png"/></div> <div class="message"> This site is down. </div> <div class="submessage"> Try again later. </div> <div id="counter" class="counter"> </div> <script type="text/javascript"> var refreshTime = 0 ; if (refreshTime) { var counterDiv = document.getElementById("counter"); var countdown = function () { if (refreshTime < 1) { counterDiv.innerHTML = "Retrying..."; location.reload(true); } else { counterDiv.innerHTML = "Retrying in " + refreshTime + " seconds..."; refreshTime = refreshTime - 1; setTimeout(countdown, 1000); } } countdown(); } </script> </body> </html>` 然后$("div") .velocity({ width: 200 }, 1500) $('.test').fadeIn('fast');

如何过滤事件,以便仅在收到Contact对象时才执行操作?

家长&#39;创建&#39;成分:

Event {isTrusted: true}

儿童&#39;表格&#39;成分

Contact {name: inputName}

1 个答案:

答案 0 :(得分:7)

供参考和添加更多信息请注意,在问题中,输出名称最初为submitDOM submit event匹配(由于我在我的{中没有解释问题,OP在问题中将其重命名) {3}})所以最初的问题是组件正在捕获两个事件:OP定义的输出和表单中的事件。

有一个问题(请参阅first comment)跟踪此行为。这显然不应该发生。

对@Sasxa充分尊重的真正解决方案是在实现上述问题之前将输出重命名为与DOM提交事件不匹配。