AngularJS——浏览器报错

在这里插入图片描述
出现这个问题的原因是因为,我的控制器有父控制器和子控制器,JS代码使用了父子类之间的继承,但是引入js文件到html中的时候,只引入了子控制器所导致的。

AngularJS中,不同的ngModel报错有不同的解决办法: - **ngModel:numfmt报错**:该错误是由于input中model的参数类型为text,而input的type参数为number,导致类型不匹配,参数在浏览器中无法显示。若因在ipad上需调用数字键盘而使用`input type="number"`,可将数据类型转换为number类型,如将`$scope.cc={ a:'222',b:'333' }`改成`cc.a = 222, cc.b = 333`。若数据从后台过来,可使用指令解决,但要注意指令大小写问题,浏览器解析页面标签属性时会将其变成小写,可采用`string-to-number`或直接将指令小写的方式调用指令来避免该问题[^1][^5]。 - **Can't bind to 'ngModel'报错**:此问题是因为没有在当前组件所属的Module中引用`FormModule`,需要在当前所属的Module中添加引用,而非一定在`AppModule`中添加。例如,有`AppModule`和`MainModule`,`AppModule`的路由文件懒加载`MainModule`,若要在`MainModule`的路由文件直接绑定的组件中使用`ngModel`,必须在`MainModule`中添加相关代码,在`AppModule`中添加无效[^2][^4]。 - **Angular error:datefmt报错**:可通过设置`NgModelController $formatters`自动将`ng-model`的值转换为Date类型。示例代码如下: ```javascript angular.module('app') .directive('formatDate', function(){ return { require: 'ngModel', link: function(scope, elem, attr, ngModelCtrl) { ngModelCtrl.$formatters.push(function(modelValue){ if(modelValue) { return new Date(modelValue); } }); ngModelCtrl.$parsers.push(function(value){ if(value) { return $filter('date')(value, 'yyyy-MM-dd'); } }); } }; }); ``` 在HTML中使用: ```html <input type="date" ng-model="date" format-date> ``` [^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值