【发布时间】:2018-06-06 12:53:01
【问题描述】:
我正在构建一个 Angular 应用程序,我正在使用 jquery 使用 focusin 和 focusout 事件动态更改输入类,如下面的代码所示:
$(".form-input").focusin(function(){
$(this).addClass("focus");
$(this).prev().addClass("label-focus");
});
$(".form-input").focusout(function(){
$(this).removeClass("focus");
$(this).prev().removeClass("label-focus");
});
我的疑问是:我在 angular 文档中读到我不应该将 angular 与 jquery 一起使用,而应该使用数据绑定,但我该怎么做呢?
【问题讨论】:
-
这里的问题是您使用 CSS 选择器来附加事件。 Angular 中没有等效的功能,因为 Angular 使用模板表达式或主机绑定。例如;我们不知道上述代码是否针对 HTML 页面上的 all
.form-input元素跨多个组件运行。这就是为什么很难将 jQuery 移植到 Angular。 jQuery 是基于选择器的。 Angular 是基于组件的。我认为最好扔掉你所有的 jQuery 代码,并以正确的 Angular 方式来做。