angular - 带有输出参数的 Angular 2 降级组件到 Angular 1
问题描述
我成功地将 Angular 7 组件降级为 Angular 1,但我遇到了一个小问题,我尝试了很多方法来解决。
我的降级组件的输出参数如下:
@Output()isValid = new EventEmitter<boolean>();
它的触发方式如下:
this.isValid.emit(false);
在我的 Angular 1 组件中,我在降级后使用它,如下所示:
- 在模板中:
<downgrade-employee-selector (is-valid)="{{vm.validateEmployeeSelector($event)}}"> </downgrade-employee-selector>
- 在 ts 中:
self.validateEmployeeSelector = ($event) => {console.log($event);}
它工作正常,但在 Angular 1 函数中,$event
值始终未定义,我无法理解它是如何工作的。
解决方案
我找到了解决我的问题的方法如下:
- 定义我的组件输入和输出:
directive('downgradeEmployeeSelector', downgradeComponent({
component: EmployeeSelectorComponent,
inputs: ['selectedEmployeesIds', 'multiSelect', 'required'],
outputs: ['isValid', 'selectedEmployeesIdsChange']
})
- 在 Angular 1 html 页面中调用输出和输入:
<downgrade-employee-selector name="empSelector" [selected-employees-ids]="vm.selectedEmployeeIds" [required]="true" (is-valid)="vm.validateEmployeeSelector($event)"></downgrade-employee-selector>
推荐阅读
- java - 如何实现基于用户选择返回类型的Java函数?
- php - 使用PHP搜索文件以找到某些文件并快速删除它们
- javascript - 如何分离和添加新文件
- java - 从流中收集到多图
- youtube-api - 如何使用 youtube api 检测官方艺术家频道?
- spring-boot - 是否可以使用 RabbitListener 声明这些绑定?
- python - 如何在 Keras LSTM 中包含连续和分类预测变量?
- javascript - Javascript - 仅在 DOM 中可见 div 时播放音频
- c++ - C++ 中的头文件和命名空间
- javascript - 由于 ERR_INVALID_URL 错误,传单 JS 中的标记无法正确加载