我最近正在开发一个AngularJS应用程序,需要将元素传递给一个函数,这样我就可以在控制器实现中访问它。请参阅代码:
<textarea class="responsive-textarea" id="textarea" ng-model="textCtrl.textarea"
ng-change="textCtrl.resize($event);">
</textarea>//Controller类
public resize(event) {
console.log(event);
}控制台正在记录未定义的值,并在尝试记录event.currentTarget时抛出和错误
所需的结果是在每次更改值时使文本区域调整大小
发布于 2019-10-25 20:13:56
The desired result is to make the textarea resize each time value is changed首先,你可以在网上找到现成的解决方案。
如果你想自己写指令,那么直接在控制器中操作元素通常不是个好主意。你将会得到类似下面这样的结果:
<textarea my-resisze...
app.directive('myResize', () => {
return {
require: 'ngModel',
link: (scope, el, attrs, ngModelCtrl) => {
ngModelCtrl.$viewChangeListeners.push(() => {
console.log(el); // resize here
});
}
}
})https://stackoverflow.com/questions/58556945
复制相似问题