Javascript AngularJS自定义指令和ctrl,在以下情况下引发错误:ctrl的方法与ctrl的名称相同

Javascript AngularJS自定义指令和ctrl,在以下情况下引发错误:ctrl的方法与ctrl的名称相同,javascript,angularjs,Javascript,Angularjs,我对AngularJS还是新手,所以我必须解决一个问题: 我制定了一个自定义提交指令,仅当表单有效时才提交表单。 它可以这样使用: 一切正常,直到我尝试了一个RegisterCtrl,其中包含register方法;提交时,指令抛出以下错误: TypeError:对象不是函数 在ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.3/angular.js:9068:15 如果方法名为register2或其他名称,则一切正常 这是一个示例和源代码。因为

我对AngularJS还是新手,所以我必须解决一个问题:

我制定了一个自定义提交指令,仅当表单有效时才提交表单。 它可以这样使用:

一切正常,直到我尝试了一个
RegisterCtrl
,其中包含
register
方法;提交时,指令抛出以下错误:

TypeError:对象不是函数
在ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.3/angular.js:9068:15

如果方法名为
register2
或其他名称,则一切正常


这是一个示例和源代码。

因为您的表单名是
register
,它将FormController绑定到父作用域上的
register
属性。如果在指令中
console.log(scope.register)
,您将在那里看到FormController。如果不创建任何独立的作用域,则需要将提交函数定义为不同的函数,或者更改表单名称以防止此冲突

10x@eddiec似乎我需要了解更多关于隔离范围的信息