如何动态更改元素?

时间:2017-04-01 11:07:41

标签: javascript html angularjs

我可以像这样无缝地更改元素的属性:

<input
  name="{{ currentField.name }}"
  type="{{ currentField.properties.type }}"
  ... />

There is no problem.

但是,我需要动态更改元素(input,textarea,select等)。

如果我尝试更改元素,AngularJS不会渲染元素。相反,显示HTML:

<{{ currentField.element }}
  name="{{ currentField.name }}"
  type="{{ currentField.properties.type }}"
  ... />

Doesn't rendering the element.

这是示例{{currentField}}数据:

{
    element: 'textarea',
    name: 'address',
    properties: {
        type: 'text',
    }
}

问题出在哪里?

1 个答案:

答案 0 :(得分:1)

使用它像:

    <textarea ng-if="currentField.element == 'textarea'"
      name="{{ currentField.name }}"
      type="{{ currentField.properties.type }}"
      ... />

<input ng-if="currentField.element == 'input'"
  name="{{ currentField.name }}"
  type="{{ currentField.properties.type }}"
  ... />