只是想了解为什么在尝试使用 jQuery 函数构建对方法的 ng-click 调用时会出现 undefined
。
这是一个例子:
<a href="#" class="btn btn-default" ng-click="angularMethod($('input[name=__RequestVerificationToken]').val())">...</a>
在我的 ng-controller 上:
$scope.angularMethod = function(token) {
$log.debug(token);
}
这会在控制台上显示一条未定义
消息。
我在 Angular js 文件之前加载了一个完整的 jQuery js 文件。 这不是应该起作用吗?
最佳答案
I have a full jQuery js file being loaded before the angular js file. Wasn't this supposed to be working?
不,ngClick
和类似指令不是 onclick
等属性。它只是一些带有一些字符串值的自定义属性,由 Angular 解析和评估(如果您感兴趣,请参阅 parse.js)。您可以提供的那些表达式将在当前作用域对象的上下文中进行计算。
所以现在您应该能够理解为什么它在您的情况下不起作用。您是否有名为 $
的范围属性,它基本上指向 jQuery?我猜不会。从技术上讲,您的示例可以工作,但是您不应该像这样混合 jQuery 和 Angular。它只会使您的代码极难阅读和支持。
另请检查这个好问题 “Thinking in AngularJS” if I have a jQuery background?关于在 Angular 中正确使用 jQuery。
关于javascript - 为什么我不能在 ng-click 调用 (AngularJS) 上使用 jQuery 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30216633/