AngularJS: 三角形三向绑定 -- 项目结构
AngularJS: Triangular three way binding -- Project Structure
我目前正在开发一个带有实时预览的管理界面,但我仍然不是 100% 了解如何正确构建它。
我的页面基本上由两部分组成。 管理界面和实时预览。显然,管理界面用数据填充了一些变量,实时预览显示了这些。
因此,Admin Interface 需要绑定变量,Live Preview 将绑定这些变量以供读取。
此外,最后的实时预览(如果可能的话)应该被重新用作显示一组信息的最终产品。它所做的只是显示从服务器接收的单个 JSON 文件(在产品模式下),在实时预览的情况下,它需要在编辑时实时更新数据。
还有一点要注意:实时预览和管理界面都由指令等元素组成,部分管理界面需要通过让用户添加具有特定属性的页面来动态加载内容类型。
在研究了模块的处理方式后,我得出以下结论:
- 实时预览是一个模块
- 管理界面是一个模块
- 我的页面包含这两个模块
它们都应该连接到提供编辑数据(绑定变量?)和读取数据的能力的中心,以便实时更新。
理想情况下,这将是一项服务,因此稍后在将 "Live Preview" 作为实际产品加载时,可以只使用相同类型的服务,在这种情况下,它提供来自我们数据库的信息,而不是范围内的变量。
这是一个好方法吗?有没有一种方法可以提供一种服务,一方面可以像双向绑定一样进行生动的编辑,以便我的实时预览也可以接收它?有没有我可以使用的东西来代替服务,比如控制器?我该怎么办?
你做的一切都是对的。我认为预览和管理面板是它们自己的模块还是包含在一个模块中无关紧要。您会发现人们在他们的 Angular 应用程序中以多种方式使用模块分离。
我认为您所说的重要且正确的是通过服务连接预览和管理面板。连接这两者的其他方法(即 $rootScope)成本高且不好。
如果您将在应用程序的许多位置重复使用实时预览,我会将其包装在一个指令中。
你应该对自己的方法有信心,这是一个很好的方法。
我目前正在开发一个带有实时预览的管理界面,但我仍然不是 100% 了解如何正确构建它。
我的页面基本上由两部分组成。 管理界面和实时预览。显然,管理界面用数据填充了一些变量,实时预览显示了这些。
因此,Admin Interface 需要绑定变量,Live Preview 将绑定这些变量以供读取。
此外,最后的实时预览(如果可能的话)应该被重新用作显示一组信息的最终产品。它所做的只是显示从服务器接收的单个 JSON 文件(在产品模式下),在实时预览的情况下,它需要在编辑时实时更新数据。
还有一点要注意:实时预览和管理界面都由指令等元素组成,部分管理界面需要通过让用户添加具有特定属性的页面来动态加载内容类型。
在研究了模块的处理方式后,我得出以下结论:
- 实时预览是一个模块
- 管理界面是一个模块
- 我的页面包含这两个模块
它们都应该连接到提供编辑数据(绑定变量?)和读取数据的能力的中心,以便实时更新。
理想情况下,这将是一项服务,因此稍后在将 "Live Preview" 作为实际产品加载时,可以只使用相同类型的服务,在这种情况下,它提供来自我们数据库的信息,而不是范围内的变量。
这是一个好方法吗?有没有一种方法可以提供一种服务,一方面可以像双向绑定一样进行生动的编辑,以便我的实时预览也可以接收它?有没有我可以使用的东西来代替服务,比如控制器?我该怎么办?
你做的一切都是对的。我认为预览和管理面板是它们自己的模块还是包含在一个模块中无关紧要。您会发现人们在他们的 Angular 应用程序中以多种方式使用模块分离。
我认为您所说的重要且正确的是通过服务连接预览和管理面板。连接这两者的其他方法(即 $rootScope)成本高且不好。
如果您将在应用程序的许多位置重复使用实时预览,我会将其包装在一个指令中。
你应该对自己的方法有信心,这是一个很好的方法。