Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将jQuery代码转换为角度_Javascript_Jquery_Html_Angularjs - Fatal编程技术网

Javascript 将jQuery代码转换为角度

Javascript 将jQuery代码转换为角度,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,我有一个页面,其中有很多jQueryDOM操作代码,我需要将其全部转换为Angular。大部分jQuery代码都是关于调整元素大小、设置类和css属性的。我有些不知所措,需要关于如何继续将jQuery转换为Angular代码的建议。重要提示:jQuery根本不处理业务逻辑 下面是我需要转换的jQuery代码示例: var globals = {}; function init() { globals.topNavHeight = $('.x').height() + $('.y').h

我有一个页面,其中有很多jQueryDOM操作代码,我需要将其全部转换为Angular。大部分jQuery代码都是关于调整元素大小、设置类和css属性的。我有些不知所措,需要关于如何继续将jQuery转换为Angular代码的建议。重要提示:jQuery根本不处理业务逻辑

下面是我需要转换的jQuery代码示例:

var globals = {};

function init()
{
    globals.topNavHeight = $('.x').height() + $('.y').height();
}

function adjustSomeStuff()
{
    $('.topNav').css('height', globals.topNavHeight);
    $('.bottomFooter').css('someRandomProperty', $('#someHelperDomElem').css('height'));
    $('.anyOtherRandomElementOnPage').css('color', '#012345');
    globals.savedData = 1000;
}

$(window).bind('resize', adjustSomeStuff);
$(window).bind('load', init);

我的问题是,我知道我需要以某种方式将这些函数转换为指令,但它们只是使用页面上所有的绝对随机元素来进行不同的计算和处理。我应该扔掉这些代码,从头开始编写指令,还是可以以某种方式利用现有的jQuery代码?

根据窗口大小调整主页项大小的特定代码块,我认为可以留在jQuery中。 例如,在angular中,您可以基于不同的数据属性通过ng类定义css类,但它看起来与您正在做的不同


但是,您在那里所做的颜色更改应该转到css类,并且您应该在运行时根据应用程序流切换css类。就像我之前写的,可以通过ng类在angular中完成,例如ng类={'warning':issuesfund>5,'valid':issuesfund==0…..

我很难相信使用javascript进行样式设计是合理的。这是可能的,但不太可能。我将从这里开始-了解您可以从css中完成多少工作,并且您可能会发现到Angular的端口非常容易。嗯,我很难相信我也有同感,但我们在这里…这个JS所连接的页面非常复杂,有很多移动/隐藏/弹出/动态元素,因此JS看起来是这样的-每个定义的函数都会调整和重新调整几个元素,主要是大小和位置,CSS也已经加载了响应的内容。更不用说-有3000行这是我需要处理的JS代码的一部分。我试图首先提取所有“简单”部分,但所有内容都非常紧密地基于页面上所有元素的类名,这非常困难。当然,正如我所说,我意识到这是可能的。在尝试迁移到Angula之前,我会大力推动代码库的健康发展r、 我很同情你。谢谢。我想首先清理jQuery代码是一个很好的建议,我应该在做其他事情之前先这样做。问题是我基本上想用Angular做所有事情,这样我就不需要同时支持jQuery DOM代码和Angular。我正在尝试用Angular简化这个jQuery代码至于“color”属性,我同意你的例子是可行的,但问题是jQuery代码中的这些颜色变化根本不依赖于业务逻辑。它们更像是如果这个div的高度大于100px,那么标题颜色应该是红色。