[IMWeb训练营作业]TodoList 20170419

这是第一次写技术博客参与了这个腾讯训练营计划,本来是打算找些时间好好的去学习,发现每天都在加班学习的时间较少,学习的效果不是很好,对VUE掌握的还是不好就去模仿了老师的代码。。。。

javascript代码:

var store = {

    save(key, value) { // 存localstorage

        localStorage.setItem(key, JSON.stringify(value));

    },

    fetch(key) {// 取localstorage

        return JSON.parse(localStorage.getItem(key)) || [];

    }

};

var list = store.fetch('newTodoClass');

var vm = new Vue({

    el: "#todoapp",//挂载元素

    data: {

        list: list,

        todo: '',

        edtorTodos: '',//记录正在编辑的数据

        beforeTitle: '',//记录修改前的title

        visibility: 'all'//通过这个属性筛选数据

    },

    watch: {//监控info这个属性,当这个属性对应的值发生变化,就会执行函数store.save

        list: {

            handler() {

                store.save('newTodoClass', this.list);

            },

            deep: true//深度监控

        }

    },

    methods: {

        addTodo() {

            this.list.push({

                title: this.todo,

                isChecked: false

            });

            this.todo = '';

        },

        deleteTodo(todo) {

            var index = this.list.indexOf(todo);

            this.list.splice(index, 1);

        },

        edtorTodo(todo) {

            this.edtorTodos = todo;

            this.beforeTitle = todo.title;

        },

        edtorTodoed(todo) {

            this.edtorTodos = '';

        },

        cancelTodo(todo) {

            todo.title = this.beforeTitle;

            this.edtorTodos = '';

        }

    },

    directives: {

        "focus": {

            update(el, binding) {

                if (binding.value) {

                    el.focus();

                }

            }

        }

    },

    computed: {

        completed() {

            return this.list.filter(function(item) {

                return !item.isChecked;

            }).length;

        },

        filteredList() {

            var filter = {

                all(list) {

                    return list

                },

                finished(list) {

                    return list.filter(function(item) {

                        return item.isChecked

                    })

                },

                unfinished(list) {

                    return list.filter(function(item) {

                        return !item.isChecked

                    })

                }

            }

            return filter[this.visibility] ? filter[this.visibility](list) : list

        }

    }

});

function watchHashChange() {

    var hash = window.location.hash.slice(1);

    vm.visibility = hash;

};

watchHashChange();

window.addEventListener('hashchange', watchHashChange);

----------------------

运行效果图:

自己还得慢慢去看视频吧 这个demo自己做的很费劲,很慢 慢慢去学吧。。。。。

只要不放弃就好了 相信自己能学会的!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Node.js中,你可以使用内置的crypto模块来实现HMAC-SHA256算法。下面是一个示例代码: ```javascript const crypto = require('crypto'); const secret = 'Secret_Key'; const message = 'timestampGET/users/self/verify'; const hmac = crypto.createHmac('sha256', secret); hmac.update(message); const sign = hmac.digest('base64'); console.log(sign); ``` 在这个示例中,我们首先引入了crypto模块。然后,我们定义了密钥(secret)和要加密的消息(message)。接下来,我们使用createHmac方法创建了一个HMAC对象,并指定了算法为SHA256,并传入密钥。然后,我们使用update方法将消息传入HMAC对象进行更新。最后,我们使用digest方法以base64编码格式输出加密后的签名。 请注意,这个示例中的密钥和消息只是示意用法,你需要根据实际情况替换为你自己的密钥和消息。 #### 引用[.reference_title] - *1* [Typescript/Nodejs 使用HmacSHA256 & Base64对接口调用签名](https://blog.csdn.net/HumorChen99/article/details/117548951)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v4^insert_chatgpt"}} ] [.reference_item] - *2* [Hmac SHA256 加密在原生 Java 及 Node.js 的实现](https://blog.csdn.net/frgod/article/details/122025192)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v4^insert_chatgpt"}} ] [.reference_item] - *3* [腾讯IMWeb团队是如何使用 NodeJS 实现 JWT 原理](https://blog.csdn.net/lunahaijiao/article/details/109881868)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值