Ton*_*shi 2 angularjs angularjs-scope
无论如何,我可以从范围访问表单控制器,而不知道用户为表单名称定义了什么.
通常,我们会以这种方式访问表单控制器:
$form['register_form']
Run Code Online (Sandbox Code Playgroud)
但是,我正在寻找可以在不知道表单名称的情况下访问表单控制器的方法.例:
$form[$scope.form_name]
Run Code Online (Sandbox Code Playgroud)
我假设有来自$ scope本身的表单名称或表单控制器的引用.
您可以使用访问表单
angular.element(el).inheritedData('$formController');
Run Code Online (Sandbox Code Playgroud)
这将获得对元素父表单的引用.
我在这里创建了一个plunker示例.但是,我不会像在示例中那样在控制器中执行此操作.我将您需要父表格的任何逻辑放入指令中.像这样的东西:
.directive('myDirective', function() {
return {
require: '^form',
restrict: 'A',
controller: ['$scope', function($scope){
$scope.$watch('form', function(val){
// some controller logic
});
}],
link: function(scope, element, attrs, frm) {
scope.form = frm;
// your other logic
}
};
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1547 次 |
| 最近记录: |