ng-repeat传递给组件

时间:2018-10-28 22:19:08

标签: angularjs angularjs-ng-repeat angularjs-components

嗨,我对使用Typescript进行angularjs Web开发非常陌生,确实遇到了问题。我认为这应该不是一个难题,但我已经花了两天时间。

我试图弄清楚如何在构造或启动ng-repeat的值时将其从列表传递给子组件。

我的意思是,如果我有一个用于生成4个子组件的父组件的列表([1、2、3、4]),那么有一种方法可以为每个子组件分配一个变量“ id”为与重复值关联的值。

例如

<span ng-repeat=variable in list>
    <child-tag></child-tag>
</span>

是否可以通过某种方式将变量从标签传递到组件的构造函数中?

只需重申一下,我已使用类型为cript的angularjs而不是angular 2对此代码进行了编码。

请提前帮忙。 预先抱歉,这可能是一个非常简单的答案,但找不到任何地方。

1 个答案:

答案 0 :(得分:1)

您可以使用Input将数据从父组件传递到子组件。 输入应使用<@绑定。 <符号表示从v1.5开始可用的单向绑定。

=:双向绑定。它使用脏检查,并可能导致延迟。它还监视组件范围内的绑定属性。

因此,如果您需要将一些数据传递给子组件,则需要将一些属性值绑定到它。例如:

<span ng-repeat="variable in list">
  <child-tag variable-name="variable.name" ></child-tag>
</span>

在子组件声明的内部绑定这些值,以便您可以访问它们:

angular.module('myApp', []).component('childComponent', {
        bindings: {
           variableName: '<'
        },
   controller: ....

您可以使用this.variableName

在组件类中访问这些值。

您可以根据需要选择一种或两种绑定方式,并可以根据需要将任意数量的对象/属性传递给子对象。