AngularJs动态输入类型

时间:2013-09-22 00:19:43

标签: angularjs

我正在尝试基于给定模型创建动态输入字段。 我希望input元素具有动态type属性,但是当我这样做时,我得到以下异常:

  

错误:无法更改类型属性

我已经读过IE不支持更改输入类型,因此角度不允许它用于跨浏览器兼容性,但我确信在我的情况下有一个解决方法,当输入元素只加载一次,并且在第一次加载后不会改变。

型号:

        details: {
            serverName: { type: 'text' },
            port: { type: 'number' },
            nickname: { type: 'text' },
            password: { type: 'password' },
            channel: { type: 'text' },
            channelPassword: { type: 'text' },
            autoBookmarkAdd: { type: 'checkbox' }
        }

HTML代码:

           <ul>
                <li ng-repeat="(index,detail) in communication.details">{{index}}:
                    <input type="{{detail.type}}" ng-model="detail.value" /></li>
            </ul>

1 个答案:

答案 0 :(得分:2)

正如马克所说,使用ng-switch将允许我使用动态输入类型。