AngularJS如何将组件双向绑定转换为单向绑定

AngularJS如何将组件双向绑定转换为单向绑定,angularjs,angularjs-components,Angularjs,Angularjs Components,您好,将angularJS中的双向数据绑定转换为单向数据绑定的正确方法是什么 我有一个组件 import template from './test.component.html'; import controller from './test.controller'; export const DateWrapperComponent = { bindings: { test: '=' }, template, controller }; 控制器 export de

您好,将angularJS中的双向数据绑定转换为单向数据绑定的正确方法是什么

我有一个组件

import template from './test.component.html';
import controller from './test.controller';

export const DateWrapperComponent = {
  bindings: {
    test: '='
  },
  template,
  controller
};
控制器

export default function TestController($scope) {
  /* ngInject */

  $scope.$watch('$ctrl.test', () => {
     console.log(this);
  });
}
和视图:

<input type="text" ng-model="$ctrl.test">


转换它的正确方法是什么?

似乎您希望将
测试值从使用者组件传递到您的组件,但当该值被您的组件更改时,它不应反映回使用者组件值。因此,您可以使用
简化到Angular 2+的迁移

将AngularJS双向绑定与
=
转换为使用单向绑定与
。。。。。但是,如果这是一个
输入
为什么要使用单向绑定,可能您想将其设置为
只读
?不,我的任务是将其转换为单向数据绑定,输入不是只读的:(提议的副本的可能副本不适用。它没有解释两种类型的绑定如何在组件中工作或如何更改它们。但我需要从一个视图到另一个组件发送数据,而不是以一种方式从一个组件到另一个视图发送数据绑定,这是可能的?@axlpl不确定您问了什么?请您详细说明一下好吗?
export const DateWrapperComponent = {
  bindings: {
    test: '<'
  },
  template,
  controller
};
app.component("testComponent", {
    bindings: {
        sample: '<',
        sampleChange: '&',
    },
    template: `
        <fieldset>
            <input ng-model="$ctrl.sample"
                   ng-change="$ctrl.sampleChange({$event: $ctrl.sample})"
            />
        </fieldset>
    `,
});
<test-component sample="test" sample-change="test=$event">
</test-component>

TEST={{test}}
<app-sizer [(size)]="fontSizePx"></app-sizer>
<app-sizer [size]="fontSizePx" (sizeChange)="fontSizePx=$event"></app-sizer>