javascript - 如何使用 ngDowngrade 将参数从 AngularJS 组件传递到子 Angular 2 组件?
问题描述
用 AngularJS 编写的父组件(指令)这样调用子组件。
<div class="container">
<preferences
prefix="user"
permissions=options.permissions
selected-permissions=user.permissions
license=selectedLicense
actions=true
on-change=permissionsChangedCallback(selectedPermissions)>
</preferences>
</div>
</div>
子 Preferences 组件现在用 Angular 2 编写,并使用
app.directive('preferences', downgradeComponent({component: PreferencesComponent}));
函数 permissionsChangedCallback 在父组件的控制器中定义。以前,子组件首选项用于调用检查是否提供了 on-change 的函数,如果是,则子组件将调用它并传递子特定参数:
// Previous AngularJS preferences child functions
if (this.onChange) {
this.onChange({
selectedPermissions: this.selectedPermissions
});
}
但是,我不知道如何将 on-change 传递给孩子,因为孩子是用角度 2 写的。
这是我尝试过的(没有用):
<preferences
[prefix]="'user'"
[permissions]=options.permissions
[selected-permissions]=user.permissions
[license]=selectedLicense
[actions]=true
(change)="permissionsChangedCallback(selectedPermissions)"> <------ This one doesn't work, the child gets a string?
</preferences>
解决方案
推荐阅读
- caption - Premier pro 翻转 srt 字母的顺序
- java - 工厂设计模式 - 在子类中定义方法
- react-native - ReferenceError: raygunUtilityFactory 未定义
- android - 如何通过单击通知中的按钮关闭应用程序?
- javascript - 附加了字符串/对象的 Javascript 函数
- c# - 如何使用正则表达式将具有完整小数精度的数字从 excel 复制到 DataGridView
- java - 如何在进入新游戏之前显示最后一步?
- ruby-on-rails - 数据库未迁移到 Heroku(cloud9)
- selenium-webdriver - 如何根据环境使用不同的 webdrivers
- java - 构造函数错误 - 不能应用于给定类型