动态添加角度材料输入不会造型

时间:2017-05-17 19:01:13

标签: javascript css angularjs angular-material

我正在尝试根据用户输入的数字添加Angular Material输入。

var inputArray = [];
    for(var i=0; i<vm.boxQty; i++)
    {
        inputArray.push("<md-input-container><input type='text'  data-ng-model='vm.trackingNumber'></md-input-container>");
    }
    angular.element('.box-inputs')
    .html(inputArray);

但是一旦添加了输入,它们就无法获得材料样式 http://imgur.com/a/vtgZl 如何添加这些输入并获得样式?感谢

1 个答案:

答案 0 :(得分:1)

我建议使用ng-repeat而不是像你一样添加输入。

所以你有这样的事情:我会稍微解释ng-model='input.val'是什么。

<div ng-repeat="input in vm.inputs">
      <md-input-container><input type='text'  data-ng-model='input.val'></md-input-container>  
</div>

然后,在您的控制器中,您将vm.inputs初始化为具有单个对象的数组,并具有val属性,如下所示:

vm.inputs = [{
    val: null
}];

val属性是为了跟踪哪个输入具有哪个值。 每当你想添加另一个输入时,只需在控制器/函数中推送一个带有null值的新对象,如下所示:

vm.addInput = function () {
        vm.inputs.push({val:null});
 }

当然,您可以根据需要为输入对象添加任意数量的属性,具体取决于您需要跟踪输入的内容。

以下是将这一切放在一起的小提琴:http://jsfiddle.net/fnc2m3uc/1/