Angular js自定义过滤器未定义
Angular js custom filter undefined
我是Angular JS的新手,正在使用"出生日期中的月份"选项的自定义过滤器。
函数monthName已在控制器中定义。
当我尝试运行文件时出现错误:-
Uncaught ReferenceError: monthName is not defined
HTML:-
<select ng-model="main.userdobmonth" ng-change="main.getMonthDays()">
<option ng-selected="{{$index+1==main.userdobmonth}}" value="{{$index+1}}"
ng-repeat="a in main.rangeDate(12) track by $index">{{$index+1 | monthName}}</option>
</select>
我的控制器代码:-
angular.module('HC', ['ngAnimate'])
.controller('MainController', MainController)
.filter('monthName', monthName);
// Inject dependencies
MainController.$inject = ['U', 'M', 'S', '$filter', '$upload', '$timeout'];
function MainController(U, M, S, $filter, $upload, $scope, $timeout) {
// ....
function monthName() {
return function (monthNumber) { //1 = January
var monthNames = ['January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December'];
return monthNames[monthNumber - 1];
}
}
}
有什么解决方案吗?
您在MainController
内部定义了monthName
。因此,它是一个局部变量,在您尝试使用它的外部无法访问。解决方案是将它移到外部。
function MainController (U, M, S, $filter, $upload, $scope, $timeout) { ... }
function monthName () { ... }
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 角度过滤器可以工作,但将输入视为未定义并抛出错误
- AngularJS自定义过滤器未触发点击事件
- Angular js自定义过滤器未定义
- 角度过滤器分组依据过滤器返回一个“未定义”字段
- AngularJS:过滤器被多次触发,值经常未定义
- 如果绑定为空/未定义(带过滤器),Angularjs模板默认值
- 未定义带有自动完成功能的角过滤器
- 角度日期过滤器显示未定义/ NaN,即使使用ng-cloak