gpt4 book ai didi

database - AngularJS:我需要知道数据库结构才能实现吗?

转载 作者:搜寻专家 更新时间:2023-10-30 20:28:53 25 4
gpt4 key购买 nike

我是 AngularJS 的初学者。目前我一直在尝试提取硬编码的 JSON(后端和服务器数据未准备好)。似乎为了提取数据,例如在使用非常常见的 ng-repeat 时,我需要知道数据库结构(因为呈现的 JSON 将反射(reflect)该结构,对吧?)。

因此,虽然我可以独立于后端进行编码,但我必须知道数据库结构的假设是否正确?例如...我可能想提取用户评论数据。这可能在它自己的数据库中,我可能会这样做:ng-repeat='comment in comments' 并在数据库中的每个评论条目中过滤特定用户。而如果评论仅在用户表中,则为 ng-repeat='comment in user[0].comments'。我想前者是正确的方法,但老实说我从未了解过正确的数据库结构。不过,为了正确实现 AngularJS,您似乎必须了解它。

感谢任何帮助。我真的很想确保我正确地处理事情。谢谢!

最佳答案

我认为您不需要(或不应该)了解数据库结构。 AngularJS 是一个 MVC 框架。此架构的一个基本原则是关注点分离。简单地说:不要混淆东西,但更具体地说,你在谈论两个系统之间的通信:本地系统(运行 angularJS 的浏览器)和远程系统(可能与或可能不相同的服务器)将 Angular 文件提供给客户端)

例如,您的 View 不应该访问您的数据库(如果您使用的是 PHP,那么您不应该在 View 中包含诸如 mysql_query(...) 之类的东西)。

您还应该将组件设计为松散耦合:使它们尽可能独立。单元测试可以帮助你以这种方式思考,而 AngularJS 对 karma 的单元测试特别友好。遵循这个原则,如果您使用 twitter API 在您的 angularJS 应用程序中显示推文会怎样?您不需要了解 Twitter 的内部结构。有一个 API 以您可以使用的格式提供此 JSON。您的后端应提供此信息(例如,使用外观 Controller ),并且您应与后端团队商定哪些数据可用。

与其让您的设计依赖于数据库结构,不如让后端 API 取决于您的需求。这样你就会有两个松散耦合的系统,后端团队可以做他们想做的任何事情而不会影响你。例如,更改 DBMS 或表的结构。

如果你想提取评论,你可能有一个远程调用($httpng-resource)来获取特定用户(或一些用户,因为您可能希望尽量减少服务或 Controller 中的远程调用数量)。服务器响应一个 json 文件来表示这个(可能还有一些很快需要的东西,比如个人资料图片 url、用户 ID 等)。然后将要公开的数据放入 $scope 中的 View (从服务器获取的数据的子集)。

关于database - AngularJS:我需要知道数据库结构才能实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16883570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com