AngularJS自定义指令和ctrl,如果出现以下情况,则抛出错误:ctrl的方法与ctrl的名称相同
AngularJS custom directive and ctrl, throws error if: the method of ctrl is the same as name of ctrl
我还是AngularJS的新手,所以这是我必须解决的一个问题:
我制作了一个自定义提交指令,该指令仅在表单有效时才提交表单。它可以像这样使用:
<form novalidate mm-submit="mySubmitMethod()">
一切正常,直到我尝试使用register
方法的RegisterCtrl
;提交时,指令抛出以下错误:
TypeError: object is not a function
at ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.3/angular.js:9068:15
如果该方法被命名为register2
或其他名称,则一切正常。
这是一个带有演示和源代码的工作触发器。
因为窗体名称是register
所以将 FormController 绑定到父作用域上的 register
属性。如果你在你的指令中console.log(scope.register)
,你会在那里看到FormController。如果未创建任何隔离的作用域,则需要将提交函数定义为其他函数,或更改表单名称以防止此冲突。
相关文章:
- javascript中的数组出错
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 在Meteor项目中安装并包含npm模块后出错
- 解析JSON并从中删除对象会出错
- AngularJS指令出错-无法读取属性'编译'的未定义
- 使用javascript在MVC中查找网格长度时出错
- 尝试调用AngularJS上的函数时出错
- Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作
- 全局安装gull后出错
- 我在代码点火器中出错
- Java脚本将URL转换为已保存的URL时出错
- Backbone.js将模型绑定到视图时出错
- 将javascript代码转换为jquery代码时出错
- 加载db.json时出错
- 在运行时创建元素时移到一边时出错
- 失败:等待Protractor与页面同步时出错:“”;在窗口上找不到角度”;
- 重置表单字段时出错
- 将对象的列表c#传递给javascript:undefined变量时出错
- 地理定位api和谷歌地图出错
- Expressjs/AngularJS:实现req-flash后出错