我试图在表单中动态添加一些html元素。当我单击一个按钮时,这些元素在html表单中正确添加。下面是我的html表单声明。
<div ng-cloak ng-form="" name="jobEntryForm" id="jobEntryForm" job-entry-layout confirm-on-exit ng-hide="vm.showEstimateContacts">
<!-- other elements here-->
</div>
在这个div
中,我正在添加动态html元素,如下所示:
<div class="col-md-2 pull-left ">
<div ng-include="'/App/Job/Entry/tasksMenuButton.html'"></div>
</div>
虽然tasksMenuButton.html
中的html元素是动态添加的,但它们不属于任何指令。这个tasksMenuButton.html
也有一些动态元素(即寄售任务),它们是使用ng-include
指令添加的。现在要处理寄售任务的功能,我创建了单独的控制器(即consignmentTask.controller.ts)。现在我想要的是将表单jobEntryForm
设置为来自此控制器内部的脏。但我无法访问该表单。控制器没有任何财产来保存表格。以下是范围界面:
export interface IConsigmentTaskScope extends ng.IScope {
task: IConsignmentTask;
contactEntryModalInstance: ModalServiceInstance;
serviceListModalInstance: ModalServiceInstance;
messageModalInstance: ModalServiceInstance;
}
如何在此(consignmentTask.controller.ts)控制器中获取 jobEntryForm 表单并使其变脏?
**我尝试使用id / class获取表单元素,但元素包含一个表单属性为null。
答案 0 :(得分:0)
您可以在范围内定义 jobEntryForm :
export interface IConsigmentTaskScope extends ng.IScope {
task: IConsignmentTask;
contactEntryModalInstance: ModalServiceInstance;
serviceListModalInstance: ModalServiceInstance;
messageModalInstance: ModalServiceInstance;
jobEntryForm: ng.IFormController
}
然后拨打$scope.jobEntryForm.$setDirty()