Angularjs 向角度方向控制器(例如FormController)添加属性
如何使用其他方法全局扩展本机AngularAngularjs 向角度方向控制器(例如FormController)添加属性,angularjs,Angularjs,如何使用其他方法全局扩展本机Angular 例如,我希望我的表单有一个附加方法setNew()(类似于现有的$setPristine(),等等)。现在我在每个控制器中都这样做,但我希望它在整个应用程序中都可用,而不必到处声明。您可以通过定义具有相同名称的其他指令来定义指令的其他行为。因此,您似乎可以做到: 在这种情况下,您需要声明两个指令,因为ngForm实际上是form的别名,您所说的原生FormController是什么意思?你还可以解释一下自定义方法,比如它们的用途吗?看看这个:@Nexu
例如,我希望我的表单有一个附加方法
setNew()
(类似于现有的$setPristine()
,等等)。现在我在每个控制器中都这样做,但我希望它在整个应用程序中都可用,而不必到处声明。您可以通过定义具有相同名称的其他指令来定义指令的其他行为。因此,您似乎可以做到:
在这种情况下,您需要声明两个指令,因为
ngForm
实际上是form
的别名,您所说的原生FormController是什么意思?你还可以解释一下自定义方法,比如它们的用途吗?看看这个:@Nexus23我看到了,但那是关于从现有的控制器创建一个新的控制器-不确定我将如何修改本机控制器我猜这可以由装饰师完成,但这个想法需要验证。Pefect!我正在构建一个指令来添加到我的表单中,但这要好得多。
angular.module('app', [])
.directive('ngForm', formControllerDecorator)
.directive('form', formControllerDecorator);
function formControllerDecorator () {
return {
require: 'form',
link: function ($scope, $element, $attrs, formCtrl) {
formCtrl.setNew = function () {
// ...
};
}
};
}