索引.html
<body>
<div data-form-modal >
<form>
<input type='text' name='test'/>
<input type='submit' value='submit' ng-click='submit()'/>
//this submit() function is in mainCtrl
</form>
</div>
</body>
这是我的路线:
app.config(function($routeProvider) {
$routeProvider
.when('/', {
controller: 'mainCtrl',
templateUrl: 'index.html'
})
.otherwise({
redirectTo: '/'
});
});
主控件:
controller.mainCtrl = function(){
...
$scope.submit = function(){
alert(1)
}
}
形成模态指令:
directive.formModal=function(){
return {
...
}
}
当我单击提交按钮时,我尝试在 mainCtrl 中调用 submit() 函数,但没有任何结果,我认为这是因为 mainCtrl 是一个路由控制器并且不属于任何范围,并且 formModal 指令无法访问提交方法。
我想让mainCtrl处理restful服务,formModal指令处理表单验证,但是我不知道如何从formModal调用mainCtrl中的方法,mainCtrl和formModalCtrl是什么关系?
编辑:
我尝试将 restful 方法移动到服务中,并在 formModal 指令控制器中调用服务方法,它工作正常,但我仍然需要访问 mainCtrl 以更新模型,以便视图可以相应地更改。