我有一个这样的表格:
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)。
如何访问附带文件中的表单?有没有更好的方法来访问角形式的表单?
答案 0 :(得分: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/