如果我有一个绑定到控件的简单属性,我可以使用内置指令(必需等)或使用ngModel。$ validators轻松验证它。
但是我有一个代表复杂属性编辑器的指令。我可以在该编辑器中验证状态,但是如何将其与Angular集成以便更新表单的状态?
我有一个代表模型的模型类,我正在调用这样的指令:
<editor model="model"></editor>
在我的控制器中使用此代码(appModel已声明为服务,因为它是单例):
$scope.model = appModel;
我正在考虑从我的指令中访问表单,利用范围继承,例如:
$scope.myform.$setValidity(...)
这是正常的方式吗?
答案 0 :(得分:0)
您应该通过FormController
通过要求访问该表单:
module.directive('editor', function() {
return {
require: '^form',
link: function(scope, element, attrs, formCtrl) {
...
formCtrl.$setValidity();