2017-05-17 64 views
1

我想添加基於用戶輸入的數字的角度材料輸入。動態添加的角度材料輸入不會造型

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

如果我是正確的,棱角分明的編譯你的HTML,所以你可以使用'$ compile'服務,或採取另一種方法與'NG-repeat' –

回答

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特性如此你跟蹤哪些輸入有哪個值。 每當你想添加其他輸入,您只需按下一個新的對象,在你的控制器/功能空VAL,就像這樣:

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

當然,你也可以在輸入對象,你儘可能多的屬性添加希望,取決於你需要跟蹤你的輸入。

這裏有一個小提琴把所有這些組合起來:http://jsfiddle.net/fnc2m3uc/1/

+0

謝謝。我想我只是從錯誤的角度來解決這個問題。 –