AngularJS和JQuery没有合作

时间:2015-05-30 06:39:14

标签: javascript jquery angularjs

我有一个使用jquery的页面,并且工作正常。 JQuery位于两个文件中:control.js和lightgallery.js。我在AngularJS中添加的那一刻,我的所有jquery都停止了工作。我需要找到一种方法让我的jquery工作而不学习如何重写角度的所有函数。有什么建议吗?

我用ngInclude添加的html都没有使用angular。这只是简单的HTML。

    class Program
    {
        static void Main(string[] args)
        {
            OptionFeature optionFeature = new OptionFeature();
            optionFeature.material = new Material();
            Fabric fabric = (Fabric)optionFeature.material;
            List<Material> materials = new List<Material>();
            List<Fabric> fabrics = materials.Select(x => (Fabric)x).ToList();


        }
    }
    public class OptionFeature
    {
        public Material material {get;set;}
    }
    public class Material
    {
    }
    public class Fabric : Material
    {
    }​

1 个答案:

答案 0 :(得分:3)

以下是发生的事情:

您的jQuery代码可能在文档就绪时运行:

$(function(){
     //your initialization code here
});

问题是,当此函数运行时,jQuery插件所针对的模板中的元素尚未添加到DOM中。这是因为Angular还没有将这些模板插入到DOM中。

您可以通过删除ng-includes并将其替换为模板中包含的标记(绕过ng-include)来验证这一点。

这是一个经典的错误&#34;当使用Angular和jQuery插件时。

唯一正确的&#34;将jQuery插件与Angular集成的方法是将插件包装在一个指令中。