当前位置: 代码迷 >> JavaScript >> Angular 7 配置或替代方案?
  详细解决方案

Angular 7 配置或替代方案?

热度:123   发布时间:2023-06-03 18:19:24.0

我一直在努力研究如何将 Angular 7 实现到我的 .NET Core 2.X 项目中,但没有成功。 我面临的主要问题是 Angular 想要控制我的前端以及它如何接收它。 我的意思是它迫使您对所有内容都使用静态模板,我明白了这个概念,但是对于我的项目,这将生成大量模板/组件或带有一堆未使用的显示元素的模板。 拥有更多从服务器接收模板然后处理所有绑定、DI、更新等的通用前端组件更有意义。

我查看了关于动态组件、动态模板 URL、自定义元素和许多其他主题的几个选项和问题。 但是我在大多数这些答案中看到的问题是,它们实际上都没有动态模板,它们可能使用动态组件,但实际加载的控件最终仍然具有静态模板。

我确实遇到了一个似乎是一个选项的,但后来我意识到它必须与 JIT 编译器一起运行。 当一切都可以提前编译时,这再次给客户端增加了不必要的负载。

还有一个是关于使用 Angular Elements 的,但这有其自身的,如果没有重新布线或其他解决方法来保持一切正常工作,确实无法解决问题。

Dynamic Component Loader 听起来非常有前途,来自声明

组件模板并不总是固定的。 应用程序可能需要在运行时加载新组件。

这意味着模板可以动态设置,但同时,它意味着在运行时加载新组件将解决这个问题。 但是加载的组件有一个静态模板。 模板没有生成或更改,或者我只是遗漏了什么?

我看过并且几乎可以处理它,但我似乎无法弄清楚如何通过控制器或以其他方式利用 .NET Core/ASP.NET 或动态服务器生成的内容的任何好处。 它似乎只是将编译从客户端卸载到服务器上,但仍然使用相同的静态模板。 有没有办法使用 Node.js 渲染 MVC 路由然后发送模块?

曾经有一种方法可以将组件的 TemplateUrl 设置为服务器上的路由,但现在不允许这样做,这使得我发现的许多答案已经过时,但我想设置它的确切方式。

我能想到的唯一真正的选择是使用 MVC 生成动态模块/组件,然后将它们加载到 Angular 应用程序中。 通过控制器编译 .cshtml 视图以创建一个 HTML 字符串,然后用于编译 Angular 模块/组件,然后将其发送到客户端并将其加载到 Angular 应用程序中是否可行?

我了解如何将我的视图编译为 html 字符串,但我不确定如何编译 Angular 模块,或者即使这是正确的想法,或者是否有更好的处理方法?

在我看来,这应该是一件相当容易的事情,所有工具似乎都在那里,但不确定如何让事情正常工作。

我最近开始使用 Angular(在使用 .net、jquery、javascript、react 之后),我的第一次交互是直接使用 angular 7。我注意到的第一件事是我可以在 angular 中开发多快,但是有很多文件我什至不确定,但是与反应相比生成的,但反应的学习曲线肯定比 Angular 高。

如果您需要真正轻量级的东西,那么您绝对应该选择库然后是框架。 react 是一个不错的选择,但是它不是 MVC 驱动的,您会发现它与 Angular 非常不同(我从某个时候意识到它)。

除此之外,如果我的大部分代码都是静态的,我可以选择某种可以预编译的 HTML 模板框架(即 nunjucks)。

对于在 .net 中创建的组件,我认为不可能在 angular 中预编译它们,因为如果您需要那些具有动态数据的组件,您只会在 .net 中创建一些东西。