在下面的代码中,我希望能够通过在输入中录制并实时获取Angular数据绑定来使菜单的长度动态化。
<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>
所以我如上所述写了它,但它没有显示任何东西。我错过了什么吗?
感谢您的帮助。
答案 0 :(得分:0)
这只是在控制器init上调用printCharacters
,此时$scope.nmba =""
您需要在输入字段的任何更改时调用此func。
<input type="number" ng-model="nmba" ng-change="printCharacters(nmba)">
此外,您需要将printCharacters
公开给$ scope
$scope.printCharacters = function(nbma){}