需要帮助将代码从 jQuery 调整为 Angular
Posted
技术标签:
【中文标题】需要帮助将代码从 jQuery 调整为 Angular【英文标题】:Need help adapting code from jQuery to Angular 【发布时间】:2017-02-14 15:29:55 【问题描述】:我在这里找到了一些代码:Textarea limit characters for each row in javascript
我想在我的项目中使用它,但我无法弄清楚如何让它在 Angular 中工作,尤其是设置指令。
这是相关的小提琴:http://jsfiddle.net/aSU7x/
我只是改变
onchange="Validate(this)" onkeyup="Validate(this)"
到
ng-change="Validate(this)" ng-keyup="Validate(this)"
?
我对 Angular 还是不太熟悉,对 jQuery 也只是稍微熟悉一些。我与范围、控制器等有什么关系?这段代码的正确 Angular 实现会是什么样子?谢谢你的时间。
【问题讨论】:
【参考方案1】:使用作用域和$event在角度调用函数的基本思路
angular.module('changeExample', [])
.controller('ExampleController', ['$scope',
function($scope)
$scope.keyupfnc = function(evt)
console.log(evt.which);
;
]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="changeExample">
<div ng-controller="ExampleController">
<input type="text" ng-keyup="keyupfnc($event)" />
</div>
</div>
【讨论】:
我在尝试时收到以下错误:Argument 'ExampleController' is not a function, got undefined 不知道。我复制/粘贴了上面的内容。 如果你有一个 Angular 应用,你需要将它集成到其中,而不仅仅是复制粘贴进去。你应该有一个应用和一个控制器...... 是的。我绝对不知道该怎么做。这就是我写这个问题的原因。我有一个控制器,我有 textarea 的东西。我最终得到了两个模块和两个控制器:一个是我的主应用程序,一个是你提供的模块。 所以你需要做一些 Angular 教程......你应该复制的只是input
并将其粘贴到 html 中,然后复制 $scope.keyupfnc
并将其粘贴到控制器中。跨度>
以上是关于需要帮助将代码从 jQuery 调整为 Angular的主要内容,如果未能解决你的问题,请参考以下文章