我最近意识到React中的以下技术将属性转换为子组件.这使用了解构赋值:
const MyInputComponent = (props) => <input {...props} />
Run Code Online (Sandbox Code Playgroud)
使用它,您可以完美地包装组件,而无需重新实现其界面.
Angular组件是否有类似的技术?
编辑:找到重复的Angular2:将所有属性传递给子组件
我如何查看当前是否存在异常,即堆栈正在展开?
在下面的示例中,您将如何实施isExceptionInFlight()
?
<?php
class Destroyer
{
function __destruct() {
if (isExceptionInFlight()) {
echo 'failure';
} else {
echo 'success';
}
}
}
function isExceptionInFlight() {
// ?????
}
function createAndThrow()
{
$var = new Destroyer;
throw new \Exception;
}
createAndThrow();
Run Code Online (Sandbox Code Playgroud)
这样做的目的是实现 D 的scope
语句,该语句可作为多种其他语言的库使用。这使您可以摆脱嵌套的 try-catch 块,从而更轻松地正确执行回滚事务。
我环顾过 Zend PHP 引擎,executor_globals.exception
似乎就是我正在寻找的东西(https://github.com/php/php-src/blob/master/Zend/zend_globals.h)。然而,nullptr
当我在 __destruct() 期间检查它时,该值始终是。知道我接下来应该看哪里吗?
检查executor_globals.opline_before_exception
取得了一些进展。但是,它不会重置为nullptr
捕获异常时的值。
我找到了以下代码(第135行)
/* Make sure that destructors are protected from previously …
Run Code Online (Sandbox Code Playgroud)