1

我有这样的表格:

my_file.html:

<form name='first_form'>
  ...
</form>
<div ng-include="'/includes/second_form.html'"></div>

<a ng-click="myLog(first_form);myLog(second_form);">Submit</a>

/includes/second_form.html

<form name='second_form'>
  ...
</form>

in 可以传递first_form给我的控制器,但不能传递给second_form. (myLog 做了一个 console.log)。

如何访问包含文件中的表单?有没有更好的方法可以访问 angular 中的表单?

4

1 回答 1

0

原理是这样的:

包装my_file.html在指令中,并将第二种形式也包含为指令,例如:

<div outer-directive>
    ...
    <div inner-directive></div>
    ...
</div>

outerDirective必须定义一个具有成员方法的控制器,例如,setInnerForm(form)将其form参数存储在范围内。内部指令将需要父控制器并将此方法调用为:

app.directive("innerDirective", function() {
    return {
        ...
        templateUrl: "/includes/second_form.html",
        require: "^outerDirective",
        link: function(scope, elem, attrs, outerController) {
            outerController.setInnerForm(scope.second_form);
        },
        ...
    };
}

该原理的工作演示在这里:http: //jsfiddle.net/ABK5y/

于 2013-10-21T12:55:09.780 回答