Javascript 有没有一种方法可以将工作HTML页面用作有角度的5/6组件?
我们正在Angular 5/6中进行一个项目,在该项目中,我们获得了预构建的HTML页面,这些页面使用jQuery、gridstack.js和CSS for UI,我们将作为组件实现。假设不可能在Angular中重写所有jQuery和JS代码,有没有办法直接在Angular中运行标签中提供的jQuery代码 我已经尝试将jQuery导入为:Javascript 有没有一种方法可以将工作HTML页面用作有角度的5/6组件?,javascript,jquery,angular,angular5,Javascript,Jquery,Angular,Angular5,我们正在Angular 5/6中进行一个项目,在该项目中,我们获得了预构建的HTML页面,这些页面使用jQuery、gridstack.js和CSS for UI,我们将作为组件实现。假设不可能在Angular中重写所有jQuery和JS代码,有没有办法直接在Angular中运行标签中提供的jQuery代码 我已经尝试将jQuery导入为: import $ from 'jQuery'; 以下是代码示例: <script type="text/javascript"> $(fu
import $ from 'jQuery';
以下是代码示例:
<script type="text/javascript">
$(function () {
$('.grid-stack').gridstack({
width: 12
});
$(".accordion-toggle").click(function () {
$(this).toggleClass("activu");
$(".accordion-toggle").not(this).removeClass("activu");
})
var options = {
float: true
};
$('.grid-stack').gridstack(options);
</script>
$(函数(){
$('.grid stack').gridstack({
宽度:12
});
$(“.accordion toggle”)。单击(函数(){
$(此).toggleClass(“activu”);
$(“.accordion toggle”).not(this.removeClass(“activu”);
})
变量选项={
浮动:对
};
$('.grid stack').gridstack(选项);
这是可能的,并且可能是迁移路径上的一个很好的中间步骤
我现在正在做一个项目,我们有一个基于JQuery的应用程序。它在JS代码中有很多CSS和HTML代码来处理状态变化,并相应地改变内容和样式。它比较混乱
我们采取了许多步骤来迁移到Angular,第一步就是您所描述的。它肯定已经帮助您获得了对代码库的概述,并以比以前更易于维护的方式构造了代码
声明常量$:any;
所有这些都是说:我不认为JQuery/Angular混合是最终的解决方案,但它可以是一个很好的迁移策略。您可以在Angular项目中使用JQuery。通常,基于JQuery的DOM操作不是Angular的标准方法,但在某些情况下,我们必须为某些功能使用JQuery插件 步骤:
.angular cli.json
declare var$:any;
ngOnInit
>假设不可能在Angular中重写所有的jQuery和JS代码——是的,您可能应该这样做。您可以使用jQuery(和GridStack)在你的angular代码中。如果你正确使用组件,它甚至会变得不那么凌乱。问题是我的实习项目有时间限制,UI设计人员已经包含了数百个JS、jQuery和CSS文件,将它们转换为angular至少需要一个工作日。不要混合angular和jQuery/JS,这会产生很多问题。如果你愿意,go对于angular.js,这也不是很好的做法,但会节省时间。