php 使用 vue2,在 Laravel 中使用vue(二)

上篇介绍了vue,以及在如何 Laravel 快速搭建vue环境。

这篇讲如何在 Laravel 中更深入使用Vue。

预处理

vue还支持使用预处理工具,比如jade, sass等等。假设使用Stylus, Jade,那就npm install 一下呗

npm install stylus jade --save-dev

然后在vue文件中指定,你使用的预处理工具是什么

.hello h1 Hello Vue

Components

Vue允许我们做模块化封装,以一个Alert模块为例,这个模块的功能是弹出提示,然后用户可以手动关闭,程序员可以设置样式,内容等等。目录划分,增加多一个components 的文件夹来存放模块,它跟views下的vue文件区别在于,它们是在多个页面呈现,或者是可以独立完成业务逻辑的可复用模块,而views 下是一个Vue实例的入口。

.├── components│ └── alert.vue├── entries│ └── hello.js└── views └── Hello.vue

引入子模块

.wrapper alert() | Hello Vue alert(type='error') | Danger alert(type='success') | Login Success

Alert 模块的具体实现

.alert-area(v-if='show') .alert(:class='typeClass') span(class='alert-close', @click='show=false') x i.fa.fa-info-circle.alert-icon(style='font-size: 16px;line-height: 20px;') .alert-text slot()

页面效果是这样的:

点击x可以关闭它。

Vue CDN

你可能会发现,使用上面一波操作之后,我们只产出一个js文件,这个文件的体积(未经过压缩)已经达到了2、300KB,这显然是不合常理的。原因是browserify把 整个vue也产出到js文件中。但其实 vue.js 我们并不需要改动到。我们可以将它抽出来,使用cdn。

可以使用 browserify-shim 来完成这件事。

npm install browserify-shim --save-dev

修改 package.json

"browserify": { "transform": [ "vueify", "browserify-shim" ]},"browserify-shim": { "vue": "global:Vue"}

修改 blade 文件,引入cdn

Laravel

之前是直接整个vue文件压入,现在替换成一条语句,文件大小13KB

var _vue = (typeof window !== "undefined" ? window['Vue'] : typeof global !== "undefined" ? global['Vue'] : null);

TheEnd

我把Laravel项目中相关 源代码 都提交到github 了,需要的同学自行查阅。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于使用LaravelVue.js构建留言簿,我可以提供一些基本的思路和步骤: 1. 创建Laravel项目 首先,需要创建一个Laravel项目作为后端,可以使用Laravel自带的命令行工具进行创建,例如: ``` laravel new message-board ``` 2. 安装Vue.js 可以使用npm安装Vue.js,命令如下: ``` npm install vue ``` 3. 创建Vue组件 在Laravel项目创建一个Vue组件,例如MessageBoard.vue,用于显示留言列表和添加留言功能。 4. 定义API路由 在Laravel项目定义API路由,用于提供数据接口给前端Vue组件使用。可以使用Laravel的路由功能进行定义,例如: ```php Route::get('/messages', 'MessageController@index'); Route::post('/messages', 'MessageController@store'); ``` 5. 创建MessageController 创建一个MessageController,用于处理留言相关的逻辑,包括显示留言列表和添加留言等。 6. 实现留言列表和添加留言功能 在MessageController实现留言列表和添加留言功能,可以使用Laravel提供的Eloquent ORM进行数据库操作,例如: ```php public function index() { $messages = Message::all(); return response()->json($messages); } public function store(Request $request) { $message = new Message; $message->content = $request->input('content'); $message->save(); return response()->json(['success' => true]); } ``` 7. 在Vue组件使用API接口 在Vue组件使用axios库来调用API接口,例如: ```javascript import axios from 'axios'; export default { data() { return { messages: [], newMessage: '' }; }, mounted() { axios.get('/api/messages').then(response => { this.messages = response.data; }); }, methods: { addMessage() { axios.post('/api/messages', { content: this.newMessage }).then(response => { this.newMessage = ''; this.messages.push(response.data); }); } } } ``` 这样,就可以使用LaravelVue.js构建一个留言簿了。当然,这只是一个基本的示例,实际情况可能会更加复杂,需要根据具体需求进行调整和完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值