博客文章
最近发表的话题
最近发表的评论
  • Vue 工程化最佳实践 at 7小时前

    @三石寰宇
    这是我vue-router的index.js 大部分的初始化我会在这里制作

    
    // 全局路由
    router.beforeEach(async (to, from, next) => {
      // login guard
      if (to.name === 'login') {
        if (!_.isEmpty(store.state.auth.admin)) {
          next('/')
        } else {
          next()
        }
    
        return
      }
    
      if (_.isEmpty(store.state.auth.admin)) {
        try {
          await store.dispatch('auth/fetch')
        } catch ({ response }) {
          next({ name: 'login' })
        }
      }
    
      if (!_.isEmpty(store.state.auth.admin)) {
        // vuex init 与api有关的初始化, 调用了 store下的index.js下的init action
        await store.dispatch('init')
        next()
      } else {
        next({ name: 'login' })
      }
    })
    
  • Vue 工程化最佳实践 at 1天前

    @键盘侠 实际上上面的代码截图是在用的商业项目, 我有空会补一份demo的哈哈

  • Vue 工程化最佳实践 at 1天前

    @nff93
    手动清理的理由是什么?
    比如文章详情, 我点了 post = 1那么vuex中会有

    itemBy = {
        1 : {...},
    }
    当我紧接着点了post2,那么vuex中的post model会变成
    itemBy = {
       1 : {...},
       2: {...},
    }
    

    如果是因为那几kB的内存占用.让我们需要手动清理数据的话,实在是没有必要


    大概一年多以前,我在纠结,vuex的作用到底是什么, 我到底应该放些什么进去? 只是把全局的登录状态放进去吗(目前很多vue项目确实如此)?

    再细想一下,vuex存在的意义是什么?一个东西存在的目的往往都是为了解决某些问题而产生的.

    实际上vuex的文档过于简单了, 其实我们都知道vuex,vue-router,nuxt是如何产生的. vue照搬了react的生态(redux,react-router,next).但是确没有好好把文档搬过来.

    实际上我的文章中已经很充分给出了为什么要这么使用vuex的理由.

    我完全没有理由说服你,并不会给我带来一点点的好处,你依旧可以按照你认为的样子做vue的开发

    but谁让这里是laravel社区呢😁

    在掘金很多人提出了和你一样的观点,但是我没有做任何回复,其实程序员内心都是很固执骄傲的,每个人心中都有自己的答案,一旦肯定之后就很难再有变化了.

    我的意思已经表达的很清楚了,不妨直接看看redux的文档吧https://www.redux.org.cn/

    我们有权利选择不使用用vuex,让项目更加的简单.
    但是如果需要使用,那就应该展现它应该有的样子

  • Vue 工程化最佳实践 at 1天前

    @largezhou

    1. 应用中所有的数据都遵循相同的生命周期,这样可以让应用变得更加可预测且容易理解。
    2. 无缝切换到服务端渲染
    3. 数据与业务分类,使view层更加的专注于业务,且store对于view来说是抽象的, view并不关心store从哪里获得的数据,怎么获得的数据, view只知道我应该在这里拿数据,不需要关心其他的事情.
  • Vue 工程化最佳实践 at 3天前

    @Nick handleXxx确实是参考的react哈哈. 这个规范我看了. 然后综合考虑了element/iview 以及结合 views和nuxt的pages(页面决定 url, url采用中划线). 决定使用 中划线命名vue组件, 一致性是最强的

  • Vue 工程化最佳实践 at 3天前

    @Nick 关于目录结构我参考了一些开源项目, 比如views目录就是参考vue-hacknews, plugins目录是参考的nuxt这个ssr框架,plugins做一些外来组件的注册和初始化.
    关于目录这块,尽量优先参考普遍使用的目录和结构. 但是也不要害怕自已添加一些自己认为需要的目录
    比如layouts/enums 在我看来都是有必要单独存放的.
    另外还有一些可以添加的目录比如 middlewares. 作用和laravel的middleware一样.(这个同样是参考nuxt)

  • Vue 工程化最佳实践 at 3天前

    @arfurs 我之前和你一样问题困扰.
    同事用nova的时候发现, 作者把api请求都放在了路由中,然后我去读了一下 vue-router的文档.果然如此哈哈

  • 验证规则里面的*号是什么意思 at 4天前

    reviews是一个数组,数组中每个对象中都存在id。 *号就是通配数组的。 具体请参考手册

  • return 写成 retrun,浪费 3 夜 at 1周前

    楼上说的对, 这是一个契机,是时候放弃sublime使用phpstorm了

  • @chihokyo 在 2018-12-04 22:22:38 的动弹 at 1周前

    用valet咯

  • @ 青风百里 在 2018-11-28 16:55:29 的动弹 at 2周前

    本来不知道不难受的 :joy:

  • 优雅的使用路由模型绑定 at 3周前

    @liyu001989 哈哈,知道了. 我之前看到这个 https://github.com/dingo/api/issues/1506 当时还没有解决

  • @ 青风百里 在 2018-11-21 16:22:06 的动弹 at 3周前

    @Wi1dcard 4G的? 我的8G内存的,可以用homestead + phpstorm(2个项目).. 但是homestead确实延迟比较高, 所以我选择了 phpstorm + valet . vscode打造了一波,但是还是不如phpstorm顺手

  • @ 青风百里 在 2018-11-21 16:22:06 的动弹 at 3周前

    用valet 吧. homestead本身访问速度也会慢很多

  • 聊聊远程办公的体验 at 3周前

    深圳,老家在河南 有机会也想体验一下远程办公😁

  • @tsin 在 2018-11-17 12:18:59 的动弹 at 1个月前

    数学已经抽象到难以溯源了么 :joy:

  • 后续是否有关于软删除的用法 at 1个月前

    是的, laravel的软删除只认 deleted_at字段, 需要在迁移文件中添加, 或者手动添加到数据库

  • 具体哪些操作会触发观察者事件? at 1个月前

    $user = new User / find / first / all()->first()

    这几种方式都可以得到User模型的一个实例
    $user->save() // $user->exist == true 的话 saving -> updating -> updated -> saved 否则 saving -> creating -> created -> saved
    $user->update() // $user->fill(); $user->save()
    $user->create() // $user->fill(); $user->save();
    $user->delete()

    触发模型事件有一个很显然的特点就是, 一定会存在模型实例. 其实上面就是所有的观察者事件的触发情况了.

    举几个不会触发的例子
    User::where('id', 1)->update(['name', 'eienao']); 这一条比较明显不会触发, 其始终没有一个模型实体的参与.
    极端一点的例子
    $user = User::first();
    $user->where('id', 1)->update(['name', 'eienao']); 这样也不会触发模型事件.因为模型实例调用where时 返回的就是一个查询构造器.模型实例此时已经不参与其中了,其只是做一个引导出查询构造器的作用
    包括楼主说的
    $user->increment(); 其本质上就是 $user->where('id', $user->id)->increment(); 这也是一个查询构造器.没有模型实例的参与

    总的来说记住上面的几种会触发模型事件的情况就可以了

  • 2018年Ubuntu 下装 QQ 比较完美的解决方案 at 2个月前

    最近觉得Manjaro gonme3 是非常不错的桌面系统,听说 使用tim的体验相对好一些, 我在deepin系统中尝试了一下确实如此.

  • @Hanson 在 2018-08-24 01:46:33 的动弹 at 3个月前

    照着文档写一个开源版的出来 😁