Angular应用程序中的Javascript文件

Angular应用程序中的Javascript文件,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我自己编写了一个使用jQuery的自定义验证文件。它正在我的网站上的一些页面中使用。现在我需要在我的网站的一部分中使用它,这是一个Angular应用程序。我想包括这个文件,它应该以同样的方式工作。我无法将文件更改为指令文件或其他角度文件,因为它正在我网站的其他部分使用 这个验证器通过向输入添加类来工作,jquery监视这些元素并在操作发生后进行验证 HTML:angularview.HTML 问题: 如何让这个javascript文件在我的角度视图中运行 编辑: 我会尽量说得更清楚。 这不是jq

我自己编写了一个使用jQuery的自定义验证文件。它正在我的网站上的一些页面中使用。
现在我需要在我的网站的一部分中使用它,这是一个Angular应用程序。我想包括这个文件,它应该以同样的方式工作。我无法将文件更改为指令文件或其他角度文件,因为它正在我网站的其他部分使用
这个验证器通过向输入添加类来工作,jquery监视这些元素并在操作发生后进行验证
HTML:angularview.HTML

问题:

如何让这个javascript文件在我的角度视图中运行
编辑:
我会尽量说得更清楚。

这不是jquery插件。这是我自己的javascript文件,它使用jquery工作。我观察带有特定类名的输入,并在更改时调用页面上的函数进行验证(参见示例)我将如何在指令中使用它,或者是否有一种方法可以通过向输入中添加正确的类来调用此文件中的函数?

您的方法可能不属于Angular的最佳实践。但我会给你你需要的答案

您可以非常简单地通过脚本标记包含文件。您可能应该在
body
的末尾执行此操作,以确保在jquery尝试绑定事件时加载DOM

Angular不会阻止其他脚本的执行。您应该只确保两个不同的系统没有尝试向DOM元素添加相同的事件侦听器


另外,最好将Jquery代码封装在函数中,以防止它在全局空间中乱丢东西。这种函数的另一个优点是,当新视图被动态添加到DOM中时,您可以手动执行它。

您不需要将jQuery文件更改为一个指令,而是使用一个指令来代替('blur'…)部分上的
$('.required,.pattern')。查看关于使用jQuery进行查询的详细答案,请参见编辑。如果我能使用指令,你能告诉我怎么做吗?@MB签出文章。一般来说,这是一个关于指令的更全面的概述,但其思想是指令的初始化函数传递给它所分配的元素。e、 g.
returnfunction(scope,element){element.bind(“mouseenter”,function(){console.log(“鼠标已进入div”);})}
谢谢。我在我的_布局页面中添加了它,当我将它移动到我需要的页面底部时,它成功了!
<input type="text" ng-model="vm.Email" name="email" class="required pattern" pattern_type="email" />
$('.required, .pattern').on('blur', function () {
    if ($(this).hasClass('required') && !$(this).val()) {
        addError(this, 'required');
        return;
    }
    if ($(this).hasClass('pattern') && !isValidInput($(this).attr('pattern-type'), $(this).val())) {
        addError(this, 'invalid');
        return;
    }
});