[英]Purely Functional Controllers in AngularJS
是否可以仅使用纯函数在AngularJS中编写控制器? 我无法理解在哪里保持状态以及如何以纯粹的功能方式操纵它。
我正在使用Angular主页上的todo应用程序。 我能做的最好的事情就是将纯部分分开并在控制器方法中调用它们。
var _remaining = R.compose(R.length, R.filter(R.prop('done')));
var _archive = R.filter(R.compose(R.not, R.prop('done')));
class TodoListCtrl {
constructor() {
this.todos = [
{text: 'learn angular', done: true},
{text: 'build an angular app', done: false}];
this.todoText = '';
}
remaining() {
return _remaining(this.todos);
}
archive() {
this.todos = _archive(this.todos);
}
}
注意:我正在进行可行性研究,以了解是否可以使用AngularJS的纯函数技术。
似乎答案很晚。 不过我仍会尝试。 使用Angular 1,控制器作为100%纯函数是不可能的,因为controller
旨在增加$scope
(即使你使用controllerAs
语法),这个$scope
是MVVM模式的关键。 角度视图是这个$scope
的副作用。
你可以抽象到某种程度,但就是这样。 没有比这更好的了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.