Beranda › Forums › Belajar Menjadi Full Stack Web Developer Tingkat Menengah › Latihan MVC part 3
Tagged: MVC
- This topic has 1 reply, 2 voices, and was last updated 3 years, 3 months ago by Coach Vincent.
-
AuthorPosts
-
July 30, 2023 at 11:15 PM #203494
index.js:
const command = process.argv[2];
const params = process.argv.slice[3];
const TodoController = require(“./controller/TodoController”);switch (command) {
case “show”:
TodoController.show();
break;
case “add”:
TodoController.add(params);
break;
case “delete”:
TodoController.delete(params);
break;
case “update”:
TodoController.update(params);
// console.log(“command update”);
break;
default:
TodoController.message(“Masukkan command yang valid”);
// console.log();
break;
}TodoController.js
const TodoModel = require(‘../model/TodoModel’);
const TodoView = require(“../view/TodoView”);class TodoController {
static show() {
let todos = TodoModel.show();
TodoView.show(todos);
}static add(todo) {
TodoModel.add(todo);
}static delete(params) {
}
static update(params) { }
static message(msg) {
TodoView.message(msg);
}
}module.exports = TodoController;
TodoModel.js:
const fs = require(‘fs’);class TodoModel {
constructor(id, task, status) {
this.id = id;
this.task = task;
this.status = status;
}static getTodos() {
let data = fs.readFileSync(‘./data.json’, ‘utf8’);
let parsedData = JSON.parse(data);
let todos = parsedData.map(element => {
const { id, task, status } = element;
return new TodoModel(id, task, status);
});
return todos;
}static show() {
let parsedData = this.getTodos();
return parsedData;
}static add(todo) {
console.log(todo);
}
}module.exports = TodoModel;
TodoView.js:
class TodoView {
static show(params) {
console.log(“Todo List: “);
params.forEach(param => {
const { id, task, status } = param;
if (status) {
console.log(${id}. [X] ${task})
} else {
console.log(${id}. [ ] ${task})
}
});
}static message(msg) {
console.log(msg);
}
}module.exports = TodoView;
ketika run di terminal:
node index.js add “Kerjakan Tugas”output: undefined
August 1, 2023 at 1:12 PM #203550baik terima kasih kak
-
AuthorPosts
- You must be logged in to reply to this topic.