gpt4 book ai didi

AngularJS:从指令调用外部函数?

转载 作者:行者123 更新时间:2023-12-02 00:01:46 25 4
gpt4 key购买 nike

我正在尝试创建一个使用 Controller 中定义的外部函数的自定义组件,但我遇到了不同的问题。

示例:

我想使用 Controller 中定义的外部函数创建自定义输入,例如:

<custom-input type="text" ext-function="checkLength(this)"></custom-input>
<custom-input type="password" ext-function="checkPasswordIsStrong(this)"></custom-input>

问题是我尝试了不同的方法从指令中调用它,但完全没有成功,例如:

指令:

 link: function(scope, element, attrs, ctrl) {
if (typeof(attrs.extFunction) != "undefined") {
scope.$eval(attrs.extFunction);
}
}

Controller

$scope.checkLength = function(element){
console.log('Checking length from: '+element);
}

$scope.checkPasswordIsStrong = function(element){
console.log('Checking password from: '+element);
}
  1. 我应该如何从指令内部调用这些动态外部函数?
  2. 如何将元素从 html 传递给函数?我使用了“this”,但它根本不起作用。

已编辑

我终于明白了。

解决方案:http://plnkr.co/edit/6A9DsCruV7yTQmTRU65j?p=preview

最佳答案

例如,您可以使用 & 绑定(bind),例如:

scope: {
'fctn': '&extFunction'
},

那样它就是指令作用域的一部分。请参阅:http://docs.angularjs.org/guide/directive

关于AngularJS:从指令调用外部函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20944084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com