2016-03-19 3 views
0

В этом коде ниже мне нравится делать длину моего меню динамической с привязкой к угловым данным, нажимая ее на вход и получая в реальном времени. Использование функции угловой модели в качестве параметра функции

<div ng-app="myApp" ng-controller="namesCtrl"> 

<p>Number of characters : <input type="number" ng-model="nmba" ></p> 
    <ul> 
     <li ng-repeat="x in chars track by $index"> 
      {{ x}} 
     </li> 
    </ul> 
</div> 

<script> 
angular.module('myApp', []).controller('namesCtrl', function($scope) { 

function printCharacters(param) { 
    var result = []; 
    for (i = 1; i <= param; i++) { 
    result.push('a'); 
} 
return result; 
} 
$scope.chars = printCharacters($scope.nmba); 
}); 
</script> 

Так я написал выше, но она ничего не отображается. Я что-то упускаю ?

Благодарим за помощь.

+1

Кажется, работает для меня [здесь] (я только обновление символов на изменение входа) (http://plnkr.co/edit/ lS9NHKGa5INpOzhhFAWw? p = preview), но не понял вашу логику. –

+0

Спасибо @Pankaj, ты спас меня, мне не хватало onChange(), спасибо – GB11

+0

рад узнать, что .. спасибо :-) –

ответ

0

Это becuse printCharacters называется только на контроллер инициализации и на данный момент $scope.nmba =""

Вы должны вызвать эту FUNC на любом изменении в поле ввода.

<input type="number" ng-model="nmba" ng-change="printCharacters(nmba)"> 

Кроме того, необходимо выставить printCharacters до $ объема

$scope.printCharacters = function(nbma){} 
+0

Спасибо @Elhay, да, я пропустил «ng-change», как предложил Панкадж. – GB11

Смежные вопросы