首页 > 解决方案 > 如何使用 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>

标签: javascriptangularjsangular

解决方案


推荐阅读