Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var compute = require("can-compute");
- var todosView = require("./todos.stache");
- function appVM() {
- var filter = compute("active");
- var todos = compute(function(){
- if(!filter()) {
- return Todo.getList({});
- } else {
- return Todo.getList({complete: filter() === "complete"});
- }
- });
- var complete = compute(async () => filter(await todos(), {complete: true}));
- var allComplete = compute(async () => todos.length === (await complete()).length);
- // Just an example if you have to do cleanup when a component is removed
- function disconnectedCallback() {
- something.off("prop", onSomethingPropChanged);
- }
- return { todos, filter, complete, allComplete, disconnectedCallback };
- }
- Component.extend({
- tag: "todos-app",
- view,
- viewModel: () => syncify(appVM())
- });
Add Comment
Please, Sign In to add comment