同构应用开发:从概念到实践
1. 模块对象与数据传递
模块对象并非全局对象,当需要将数据传递给特定模块且不暴露给其他模块时会用到它。例如,在一个条目中遍历项目列表(如图片库),为每个项目渲染一个图片模块,但使用不同的数据。可以通过模块对象直接将必要的数据传递给模块,而不是让模块使用索引作为键从条目中提取数据。
2. 转译视图模型
2.1 视图模型定义
由于 C# 是强类型语言,不能像 JavaScript 那样随意传递动态对象字面量。每个视图模型需要有严格定义的属性及其类型。为了让前端负责视图模型设计,决定用 JavaScript 编写视图模型,这样前端团队成员可以轻松测试模板渲染,而无需与 .NET 后端集成。
以下是一个典型的 JavaScript 视图模型示例,描述了一个 Bundle 并继承自另一个名为 Product 的模型:
var Bundle = function() {
Product.apply(this);
this.Title = '';
this.Director = '';
this.Synopsis = '';
this.Artwork = new Image();
this.Trailer = new Video();
this.Film = new Video();
this.Extras = [new Extra()];
this.IsNew = false;
};
超级会员免费看
订阅专栏 解锁全文
44

被折叠的 条评论
为什么被折叠?



