最近写一个项目是基于laravel框架的,这个框架传言是为艺术而创做的优雅框架,简洁分明的风格,很吸引我,因此最近研究比较多。本次就是基于该框架而后将Vue插件加入实现必定的功能,vue插件自己强大,具体不说了,有兴趣的同窗能够去官网https://cn.vuejs.org/。laravel 自己php页面是用blade引擎,渲染数据格式:javascript
{{msg}}
可是熟悉Vue渲染的同窗知道Vue的格式是:php
<div id="app">
{{ message }}
</div>
这样就引发了冲突,所以,能够是vue
@{{msg}}
使用@跳出blade引擎模式。java
如下代码摘自是laravel-china@leo做者laravel
<tr v-for="item in services">
<td>@{{ item.id }}</td>
<td>@{{ item.name }}</td>
<td>@{{{ displayHosts(item.hosts) }}}</td>
<td>@{{{ bool2icon(item.enabled) }}}</td>
<td>@{{{ bool2icon(item.allow_proxy) }}}</td>
<td>@{{ item.created_at }}</td>
<td>
<a href="javascript:void(0)" @click="edit(item)">{{ trans('admin.edit') }}</a>
</td>
</tr>
如下是本人本身写的代码:ajax
<li class="wrap" v-for="(course,index) in courses.data"> <div class="img"> <a v-on:click="show(course)"> <img v-bind:src="course.thumblink" width="236" height="124"> </a> </div> <div class="coursetitle"> @{{course.name}} </div> <div class="lecturer"> 讲师:@{{course.teachername}} 学期:@{{course.semester}} </div> <div class="price"> @{{course.price}}元 </div> <div class="pull-left"> <button type="button" class="btn btn-success btn-xs" v-on:click="show(course)">详情</button> </div>
有时候咱们可能向带有连接的地方插入Vue数据值做为参数,可是熟悉Vue的同窗知道Vue是mustache 语法不能做用在 HTML 特性上,遇到这种状况应该使用 v-bind 指令:json
另一种思路是使用v-on:click。api
<a v-on:click="show(course)"> Vue实例代码: methods:{ show:function(course) { // debugger; window.location.href="/prices/detail/"+course.course_id; // console.log(result); }, }
又例以下面的代码:app
<img v-bind:src="course.thumblink" width="236" height="124">
就是使用v-bind实现数据的绑定。框架
最重要的是我吃了很长的时间的惯性思惟的亏,认为使用ajax发送请求都是一样的模板。
可是在laravel中必须考虑CSRF-TOKEN,感兴趣的同窗能够去laravel学院看看详细解释,http://laravelacademy.org。
以下的代码:
function init_courses() { // debugger; $.ajax({ type:"post", url:'/selectCourse', dataType: 'json', data:{result:resul='所有,所有,所有'}, headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') }, success:function(data) { mydata.courses=eval(data.result); console.log(mydata.courses); }, error: function(xhr, type){ alert('Ajax error!') } }); };
若是你的页面没有看到一个CSRF,能够在页面头部加入
<meta name="_token" content="{{ csrf_token() }}"/>
这样就能够请求成功。
感谢你们指正!!
祝生活愉快