我基于Angular2教程创建了一个非常简单的应用程序.
首先,我有一个非常简单的"书"模型:
/**
* book model
*/
export class Book {
public data;
/**
* constructor
* @param id
* @param title
* @param pages
*/
constructor(
public id,
public title:string,
public pages:Array
){
alert('it works'); // just a check
}
}
Run Code Online (Sandbox Code Playgroud)
在我的服务中,我得到了这样一本书:
return this._http.get('getBook/1')
.map(function(res){
return <Book> res.json();
})
Run Code Online (Sandbox Code Playgroud)
我的期望是,这将获得生成的JSON数据并将其"映射"到Book对象.
但是,它只返回一个类型为"Object"的对象.
我可以自己创建一个新的Book对象并在构造函数中传递参数,如下所示:
return new Book(res.id, res.title, res.pages);
Run Code Online (Sandbox Code Playgroud)
这是最好的方法吗?我错过了什么?
我正在使用React制作表单组件,并希望使用Redux存储表单和字段状态.
所以我有一个表格减速器和一个formField减速器.
我首先遵循我的直觉,并尝试将formField减速器嵌套在减速器中.这基本上意味着在form reducer和formField reducer中都有与formField相关的开关案例.
这感觉有点乱(重复代码),所以我在文档中阅读了更多内容,并发现建议将状态标准化.所以我拿走了嵌套的formFields并将它们放在与表单相同的级别.
这使得reducer变得干净漂亮,但是现在为特定表单检索formFields感觉非常糟糕.我基本上每次循环遍历所有formFields,只返回具有正确"formId"参数的那些.
Redux文档声明您应该将状态视为规范化数据库,但是他不会忘记您没有能够查询结果的奢侈吗?
我在这里错过了吗?推荐的解决方法是什么?
如何使路由自动适用于ZF1结构中的所有内容?
模块/控制器/动作/ par1Name/par1Val/par2Name/par2Val /
我阅读了有关路由的信息,但是我看到它的方式,我必须手动添加所有操作,并且我看到可选参数的问题...
angular ×1
nested ×1
normalize ×1
reducers ×1
redux ×1
routing ×1
rxjs ×1
typescript ×1
zend-router ×1