Javascript 触发属性作为angularjs指令的函数
我已将此html模板放入fileA.directive.html中: 在我的fileB.directive.js中,我有Javascript 触发属性作为angularjs指令的函数,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我已将此html模板放入fileA.directive.html中: 在我的fileB.directive.js中,我有userForm指令 app.directive("userForm", function() { return { restrict: "E", replace: true, templateUrl: "fileB.directive.html", scope: {resetUserFn: "=" }, controller: [
userForm
指令
app.directive("userForm", function() {
return {
restrict: "E",
replace: true,
templateUrl: "fileB.directive.html",
scope: {resetUserFn: "=" },
controller: [
"$scope",
function ($scope) {
$scope.resetUserFn = function () {
// reset goes here
}
}
]
}
我的问题是:
如何将属性resetUserFn
触发到我的fileB.directive.js中,并触发到我的fileA.directive.js中
任何来源或文件请
注意:如果可能的话,我不会使用自定义事件。您应该创建一个公共事件,以便您可以在任何地方使用服务中的所有内容。在这种情况下,一个可以在fileA.directive.js和fileB.directive.js中使用的函数。您应该创建一个公共函数,以便可以在任何地方使用服务中的所有内容。在本例中,一个可以在fileA.directive.js和fileB.directive.js中使用的函数。因此您希望从父指令触发子指令的某些方法。不幸的是,AngularJS对此类问题没有本机支持。这里有一些变通方法供您考虑
shoppappformcustomer
父指令下有两个或多个
指令,该怎么办?你想调用一个特殊的指令的resetUserFn
,如何区分一个userForm
和另一个userForm
这在Angular 2及更高版本中得到了某种程度的支持,但解决方案也不完美。因此,您只需从上面选择哪种解决方案对您来说不那么痛苦并加以处理。因此,您需要从父指令触发一些子指令方法。不幸的是,AngularJS对此类问题没有本机支持。这里有一些变通方法供您考虑
<md-button ng-click="resetForm()" class="btn btn-primary">
Reset form
</md-button>
̶<̶u̶s̶e̶r̶-̶f̶o̶r̶m̶ ̶r̶e̶s̶e̶t̶-̶u̶s̶e̶r̶-̶f̶n̶=̶"̶"̶>̶
<user-form reset-user-fn="resetForm">
</user-form>
shoppappformcustomer
父指令下有两个或多个
指令,该怎么办?你想调用一个特殊的指令的resetUserFn
,如何区分一个userForm
和另一个userForm
这在Angular 2及更高版本中得到了某种程度的支持,但解决方案也不完美。所以,你只需从上面选择哪个解决方案对你来说痛苦更小,然后处理它
<md-button ng-click="resetForm()" class="btn btn-primary">
Reset form
</md-button>
̶<̶u̶s̶e̶r̶-̶f̶o̶r̶m̶ ̶r̶e̶s̶e̶t̶-̶u̶s̶e̶r̶-̶f̶n̶=̶"̶"̶>̶
<user-form reset-user-fn="resetForm">
</user-form>
<md-button ng-click="resetForm()" class="btn btn-primary">
Reset form
</md-button>
̶<̶u̶s̶e̶r̶-̶f̶o̶r̶m̶ ̶r̶e̶s̶e̶t̶-̶u̶s̶e̶r̶-̶f̶n̶=̶"̶"̶>̶
<user-form reset-user-fn="resetForm">
</user-form>
app.directive("userForm", function() {
return {
restrict: "E",
templateUrl: "fileB.directive.html",
scope: {resetUserFn: "=" },
controller: function ($scope) {
$scope.resetUserFn = function () {
// reset goes here
};
$scope.$on("$destroy", function() {
$scope.resetUserFn = null;
});
}
}
}