乱斗西游官网2为什么说一直都在首次进去正在加载数据

在 SegmentFault,解决技术问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
一线的工程师、著名开源项目的作者们,都在这里:
获取验证码
已有账号?
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
假设有一个列表页,采用vue
v-for 来渲染页面。那么页面的加载的时候,v-for 的data , 是页面加载时通过ajax请求数据还是用后端程序循环出这data ?类似这样:
&div id="data"&
&table class="table table-striped table-hover"&
&tr v-for="todo in datas"&
&td&{{todo.title}}&/td&
&td&{{todo.learn_name}}&/td&
&td&{{todo.is_exist}}&/td&
&td&{{todo.is_download}}&/td&
var data = new Vue({
el:'#data',
&?php foreach ($data as $value):?&
title: '&?php echo $value["title"]?&' ,
learn_name: '&?php echo $value["learn_name"]?&',
is_exist: '&?php echo $value["is_exist"]?&',
is_download: '&?php echo $value["is_download"]?&'
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
通过ajax请求数据要好点
前端和后端耦合度越低越好
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
感谢各位的解答,我用vue-resource在第一次加载的时候获取数据,卸载created方法中实现。html:
&script src="/vue/dist/vue.js"&&/script&
&script src="https://cdn.jsdelivr.net/vue.resource/1.3.1/vue-resource.min.js"&&/script&
&div id="data"&
&table class="table table-striped table-hover"&
&tr v-for="todo in datas"&
&td&{{todo.title}}&/td&
&td&{{todo.learn_name}}&/td&
&td&{{todo.is_exist}}&/td&
&td&{{todo.is_download}}&/td&
v-bind:class="[{ 'btn btn-success': list.is_show ,'btn btn-info': !list.is_show }]" v-for="list in lists" v-on:click="clickEvent(list.no)"&{{list.no}}&/button&
var cache = {};
var url = '&?php echo Yii::$app-&urlManager-&createUrl("/collect-data-copy/vue")?&';
var ajaxGetData = function (page) {
if(page in cache){
data.datas = cache[page].
data.lists = cache[page].
Vue.http.post(url, {page:page,'&?= Yii::$app-&request-&csrfParam ?&': '&?= Yii::$app-&request-&getCsrfToken() ?&'},
{'emulateJSON':true}).then(function (res) {
data.datas = res.body.
data.lists = res.body.
cache[page] = res.
var data = new Vue({
el:'#data',
created:function(){
ajaxGetData(45);
clickEvent:function (page) {
ajaxGetData(page);
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
你上面的做法没有问题。
不过既然提到了第一次加载的问题,我就多说两句.
看上去你的页面都是 php 渲染直出的,那不如把第一页的数据直接输出给 cache 好了,这可以节省首次的 ajax 请求,直接拿数据渲染,这可以提升首屏加载速度
如果需要 seo 的考虑,也可以考虑页面首次加载时直接用 php 输出 html 结构,后续翻页请求使用 ajax 结合 vuejs 的 v-if 与 v-else 逻辑一起来用。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
都可以,给 datas 初值,ajax 取得数据后换掉即可。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
vue mounted的时候调用一个method异步获取数据
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
既然都用Vue了,就不要再用后端循环了,因为Vue是数据驱动的,就把这些处理数据显示的问题交给Vue来做
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
后端的功能做成api,前端使用vue调用就可以。没必要混用啊。
你这样太欺负vue不会获取数据了。
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:为什么C#在非首次加载的时候绑定数据?我的理解第一次加载就绑定了阿_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
为什么C#在非首次加载的时候绑定数据?我的理解第一次加载就绑定了阿
我有更好的答案
你说的“非首次加载”是什么意思?你说的应该是winform程序吧?
!IsPostBack
亲,!IsPostBack是判断是否为回发,比如:if(!IsPostBack){
this.grid.DataSource = ...; //绑定数据源}一般是在page load函数中绑定,因为Asp.net控件有一个viewState,默认是开启的,这样就会保存控件的值,避免每次加载页面时都重新加载一次,所以只需要第一次加载数据源就可以了。
采纳率:35%
C# 中第一次加载的时候 控件还没有创建完毕. 等控件全部创建完毕 就可以绑定数据.
你中途修改过数据了,当然要重新绑定
为您推荐:
其他类似问题
等待您来回答}

我要回帖

更多关于 乱斗西游 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信