我有一个 javascript 库,其中包含许多有用的函数,我在网站上使用它们来执行各种操作。
我知道我无法通过 ng-click 访问这些函数,因为这些函数超出了范围。
有没有一种方法可以访问它们,而无需声明仅调用库中函数的作用域函数?
Here https://jsfiddle.net/aca320bt/是一个带有示例的jsfiddle。我想知道是否有办法使第二个链接起作用。
这仅仅是因为我不喜欢定义一个仅调用另一个函数的函数的想法。例如
HTML:
<div ng-click="doSomething()">Click Me (Working)</div>
<div ng-click="doSomethingElse()">Click Me (Not Working)</div>
控制器JS:
$scope.doSomething = function () {
doSomethingElse();
};
外部库 JS:
function doSomethingElse() {
alert("SomethingElse");
}
感谢大家的创意回复!
Vinay K 的答案是最简单、最明显的,但我决定采用 Ron E 的答案。
原因是我已经有了一个包含可重用指令集合的全局模块,这将使我在 HTML 中的实现变得更容易、更清晰。另外,因为我有时会使用库中的多个函数,然后必须将它们链接到 onclick 中:
onlick="func1(); func2(); func3();"
指令更加清晰,我可以在做其他事情的同时调用任意数量的函数。
ng-click
表达式(或角度中的任何其他表达式)将在范围的上下文中进行评估。
As doSomethingElse
未定义范围,它将不起作用。
Use onclick
代替ng-click
<div ng-click="doSomething()">Click Me</div>
<div onclick="doSomethingElse()">Click Me </div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)