如何像Angact一样在Angular 2+中传递道具?

Ric*_*ler 11 javascript typescript reactjs angular

在反应中我可以任意传递道具,如下:

function SomeComponent(props) {
  const {takeOutProp, ...restOfProps} = props;
  return <div {...restOfProps}/>;
}
Run Code Online (Sandbox Code Playgroud)

我如何在Angular中做同样的事情?

-

更具体地说,我想编写一个自定义下拉组件并将props传递给选择框.

Est*_*ask 9

与React组件相反,Angular组件不会在输入更改时重新编译,而不会使用@Input属性装饰器来启用更改检测。应该将所有预期传递的属性明确定义为组件输入。

对于自定义选择组件,没有比这更好的选择了。可以从当前组件元素读取静态属性并将其设置在嵌套的组件元素上,但这不会设置绑定。

至于包裹组件中深道具的React配方:

const Baz = props => <p>{props.baz}</p>;
const Bar = props => <Baz {...props} />;
const Foo = props => <Bar {...props} />;
Run Code Online (Sandbox Code Playgroud)

这通常由Angular DI和喷射器的层次结构处理。可以在相应的注射器上定义提供程序,以使嵌套组件可以使用数据和行为。