如何将此控制器逻辑包装在角度函数中,并在select html元素中使用它。这里内部控制器代码用作没有功能的内联逻辑。
控制器:
var year = new Date().getFullYear();
var range = [];
range.push(year);
for(var i=1;i<20;i++) {
range.push(year + i);
}
$scope.years = range;
查看:
<select ng-options="year for year in years">
</select>
答案 0 :(得分:1)
您可以声明一个类似的函数:
$scope.myfunction = function(){
var year = new Date().getFullYear();
var range = [];
range.push(year);
for(var i=1;i<20;i++) {
range.push(year + i);
}
return range;
}
并在您的HTML中:
<select ng-model="selectedYear" ng-options="year for year in myfunction()"></select>
答案 1 :(得分:1)
我认为你所缺少的是select语句中的ng-model。这是一个有效的例子:
getAll
(function() {
angular
.module("app", []);
angular
.module("app")
.controller("AppController", AppController);
AppController.$inject = ["$scope"];
function AppController($scope) {
var vm = this;
vm.selectedYear = "";
vm.years = [];
loadData();
function loadData() {
var year = new Date().getFullYear();
var range = [];
range.push(year);
for (var i = 1; i < 20; i++) {
range.push(year + i);
}
vm.years = range;
}
}
})();