我正在尝试根据用户输入的数字添加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 如何添加这些输入并获得样式?感谢
答案 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/