我如何使用 ng-include 来包含一个表单并在应用程序的两个不同部分处理它?
How do I use ng-include to include a form and handle it in two different parts of an app?
假设我有一个包含几个字段(街道、城市、州等)的地址表。用户第一次输入地址时,他通过向导完成。所以我创建了一个由 WizardAddressController.createAddress()
处理的表单 (formAddress
),它是这样的(为清楚起见进行了简化):
self.createAddress = function ( form ) {
self.user.all('addresses')
.post( self.new_address )
.then( function (address) {
$state.go('next_step');
});
};
到目前为止一切顺利。现在我必须在应用程序的不同部分(用户仪表板中的模态 window)使用相同的表单和相同的处理代码,让用户添加其他地址并编辑现有地址。
我想使用 ng-include
来包含表单(效果很好)并且我想使用相同的 createAddress()
函数,但我不能为此使用 ng-controller
很重要,因为我需要代码以不同的方式解析(而不是进入下一步,它应该关闭模式并显示成功通知)。
当然,我想在这里表现得尽可能干(Don't Repeat Youself)。
指令的优秀候选者。创建自定义指令并将回调传递给它以在完成后调用。
您将与父控制器共享作用域,以便更新数据。
假设我有一个包含几个字段(街道、城市、州等)的地址表。用户第一次输入地址时,他通过向导完成。所以我创建了一个由 WizardAddressController.createAddress()
处理的表单 (formAddress
),它是这样的(为清楚起见进行了简化):
self.createAddress = function ( form ) {
self.user.all('addresses')
.post( self.new_address )
.then( function (address) {
$state.go('next_step');
});
};
到目前为止一切顺利。现在我必须在应用程序的不同部分(用户仪表板中的模态 window)使用相同的表单和相同的处理代码,让用户添加其他地址并编辑现有地址。
我想使用 ng-include
来包含表单(效果很好)并且我想使用相同的 createAddress()
函数,但我不能为此使用 ng-controller
很重要,因为我需要代码以不同的方式解析(而不是进入下一步,它应该关闭模式并显示成功通知)。
当然,我想在这里表现得尽可能干(Don't Repeat Youself)。
指令的优秀候选者。创建自定义指令并将回调传递给它以在完成后调用。
您将与父控制器共享作用域,以便更新数据。