[英]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.