Giter Site home page Giter Site logo

lin-xin / notepad Goto Github PK

View Code? Open in Web Editor NEW
626.0 626.0 215.0 414 KB

基于vue2.0+vuex+localStorage+sass+webpack,实现一个本地存储的记事本。兼容PC端和移动端。

Home Page: https://lin-xin.gitee.io/example/notepad/

JavaScript 37.18% HTML 1.23% Vue 58.42% CSS 3.17%
localstorage todolist vue vuex

notepad's People

Contributors

lin-xin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

notepad's Issues

eventTable搜索的过滤分开写会不会更好些?

notapad () {
let self = this
let typeFilter = () => self.screen_type ? todo => todo.type === self.screen_type : todo => todo
let titleFilter = () => self.screen_title
? todo => todo.content.indexOf(self.screen_title) !== -1
: todo => todo
return self.$store.getters.getEventList.filter(typeFilter()).filter(titleFilter())

  // return self.$store.getters.getEventList.filter(function (d) {
  //   if (self.screen_type !== 0 && self.screen_title === '') {
  //     if (d.type === self.screen_type) {
  //       return d
  //     }
  //   } else if (self.screen_type !== 0 && self.screen_title !== '') {
  //     if (d.type === self.screen_type && d.content.indexOf(self.screen_title) !== -1) {
  //       return d
  //     }
  //   } else if (self.screen_type === 0 && self.screen_title !== '') {
  //     if (d.content.indexOf(self.screen_title) !== -1) {
  //       return d
  //     }
  //   } else {
  //     return d
  //   }
  // })
},

取消事件的bug

问题重现步骤:

  • 新建2个事件
  • 删除第一个事件 (event.id = 0)
  • 再新建1个事件
  • 点击取消列表中的第二个事件

这时实际取消的是列表中的第一个事件,看代码发现,是由于addevent方法中的新id算法造成的。
ADDEVENT(states,obj){ **let len = states.event.length + 1;** obj.items.id = len; states.event.unshift(obj.items); local.set(states.event); }

你好,请问一下在mutations中,为什么要先把states里event数组当前事件先删掉,然后又unshift到数组顶部呢

 [type.EVENTDONE](states, obj) {
        for (let i = 0; i < states.event.length; i++) {
            if (states.event[i].id === obj.id) {
                states.event[i].type = 2     //这里改变了类型
                states.event[i].time = func.getDate()
                var item = states.event[i]     
                states.event.splice(i, 1)    //删掉了
                break
            }
        }
        states.event.unshift(item)   //这里又添加回数组顶部
        func.local.set(states)
    },

项目不能运行

  • 项目依赖项感觉过多额,能不能精简一下,光是安装就花了好几分钟。
  • 启动不起来啊,node npm 都是高版本
    image
  • 既然是一个简单的记录功能,为什么不做成html单机版的呢,使用它还要启动一个node服务不是有点得不偿失吗。

提几个问题。

尝试着将这个作为小工具集成到项目中,集成过程中发现存在如下问题:

1.每个vue的布局不独立,互相影响,这个是封装大忌,最好每个子vue的布局都需要用一个大括号包进去,且不能被外部影响。
2.使用全局的toast不好。
3.App.vue中存在影响子vue样式的css,如button。

总体来说还是挺好的,稍微修改了一下,完成了集成。作为小工具使用使用挺不错。

分多个modules引起的问题

比如我定义了一个userModel和otherModel。
在userModel内部state为一个对象{}。
mutations获取参数,当前的state和传递过来的payload。
此时我想改变state这个对象,不能直接去改变参数里面的state。
必须循环一个个遍历state对象的值,payload有相同字段的则覆盖,不同的则添加。

const userModule = {
  state: {
    username: '',
    token: ''
  },
  mutations: {
    updateUser: (state, payload) => {
      // ...
    }
  }
}

侧边栏有bug

你好,当事项内容超出屏幕时,滑动滚轮,侧边栏随之滑下,无法完全覆盖。

组件前面加一个n前缀的用意是什么?

在app.vue中有如下代码
import nHeader from './components/header.vue'; import nFooter from './components/footer.vue'; import nAdd from './components/event_add.vue'; import nTable from './components/event_table.vue'; import nList from './components/event_list.vue'; import nSidebar from './components/sidebar.vue'; import nDialog from './components/dialog.vue'; import nTheme from './components/theme.vue';
其中n前缀的用意是什么?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.