vuejs实现ready函数加载完之后执行某个函数的方法


Posted in Javascript onAugust 31, 2018

vue.js 教程

Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。
Vue 只关注视图层, 采用自底向上增量开发的设计。
Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

我期望vue中tds全都渲染在界面上之后,再调用一个函数(其实这个函数主要作用是给表格中的选择框加监听,如果tds没有渲染,那监听也加不上去)。

<div class="row" id="app">
  <div class="col-sm-12 col-md-12 main">
   <table class="table table-bordered table-striped">
    <thead>
    <tr>
     <th><input type="checkbox" id="checkAll" name="checkAll" /></th>
     <th>日期</th>
     <th>任务</th>
     <th>是否执行</th>
     <th>执行结果</th>
     <th>影响行数</th>
     <th>执行时间</th>
     <th>执行时长</th>
     <th>成功率</th>
     <th>操作</th>
    </tr>
    </thead>
    <tbody id="trs">
    <tr v-for="td in tds">
     <td><input type="checkbox" name="checkItem" /></td>
     <td>{{td.date}}</td>
     <td>{{td.job}}</td>
     <td>{{td.is_done==0?'未执行':'已执行'}}</td>
     <td>{{td.is_success==0?'成功':(td.is_success==1?'失败':'')}}</td>
     <td>{{td.nums}}</td>
     <td>{{td.begintime}}</td>
     <td>{{td.usedtime}}</td>
     <td>{{td.rate}}</td>
     <td v-if="td.is_done==0">
     </td>
     <td v-if="td.is_done==1">
      <button v-on:click="rerun($index,td.monitor_id)" type="button" class="btn btn-default btn-xs"
        style="padding:1px 10px;margin-top:-3px;margin-bottom:-2px;">重跑
      </button>
     </td>
    </tr>
    </tbody>
   </table>
  </div>
  <!--/.main -->
 </div>

尝试了

Vue.nextTick(function () {
 alert('new message'); // true
})

无效,在tds未展示在界面上时就alert了。

尝试了

vm.$nextTick(function () {
 alert('new message'); // true
})

也无效,在tds未展示在界面上时就alert了。

最后解决办法是增加一个vm.$watch('tds',function(val){ })函数,在vm改变后调用nextTick,最终可以在tds展示在界面之后调用我想要的函数。

var vm = new Vue({
  el: '#app',
  ready: function () {
   $.getJSON("/main/getMonitor", {"beginDate": getTheDate(-2), "endDate": getTheDate(0)}, function (result) {
    vm.$set('tds', result);
   });
  },
  data: {
   start: getTheDate(-2),
   end: getTheDate(0),
   isupdate: 0
  },
// computed: {
// // 一个计算属性的 getter
// tds: function () {
//  var myr="";
//  $.getJSON("/main/getMonitor", {"beginDate": getTheDate(-2),"endDate": getTheDate(0)}, function (result) {
//  myr= result;
//  });
//  return myr;
// }
// },
  methods: {
   rerun: function (index, monitor_id) {
    var button = $('#trs').children().eq(index).children().eq(9).children().eq(0);
    button.prop('disabled', true);
    button.html('重跑中<span class="dotting"></span>');
//    $.getJSON("http://m.o2.qq.com/Api/rerunMonitor", {"monitorID": monitor_id}, function (result) {
//     console.log(result);
//     vm.isupdate=(this.isupdate==0?1:0);
//     button.html('重跑');
//     button.prop('disabled', false);
//    });
    $.ajax({
     url: "http://m.o2.qq.com/Api/rerunMonitor",
     // The name of the callback parameter, as specified by the YQL service
     jsonp: "callback",
     // Tell jQuery we're expecting JSONP
     dataType: "jsonp",
     // Tell YQL what we want and that we want JSON
     data: {
      monitorID: monitor_id
     },
     // Work with the response
     success: function (response) {
      console.log(response); // server response
      vm.isupdate = (vm.isupdate == 0 ? 1 : 0);
      button.html('重跑');
      button.prop('disabled', false);
     }
    });
   }
  }
 })
 vm.$watch('start', function (val) {
  $.getJSON("/main/getMonitor", {"beginDate": val, "endDate": this.end}, function (result) {
   vm.tds = result;
  });
 })
 vm.$watch('end', function (val) {
  $.getJSON("/main/getMonitor", {"beginDate": this.start, "endDate": val}, function (result) {
   vm.tds = result;
  });
 })
 vm.$watch('isupdate', function (val) {
  $.getJSON("/main/getMonitor", {"beginDate": this.start, "endDate": this.end}, function (result) {
   vm.tds = result;
  });
 })
 vm.$watch('tds',function(val){
  vm.$nextTick(function() {
   initTableCheckbox();
  });
 })

总结

以上所述是小编给大家介绍的vuejs实现ready函数加载完之后执行某个函数的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Iframe 自适应高度并实时监控高度变化的js代码
Oct 30 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
Apr 02 Javascript
javascript 函数参数限制说明
Nov 19 Javascript
使用堆实现Top K算法(JS实现)
Dec 25 Javascript
jQuery原理系列-常用Dom操作详解
Jun 07 Javascript
javascript实现滚动效果的数字时钟实例
Jul 21 Javascript
js检查是否关闭浏览器的方法
Aug 02 Javascript
JS简单随机数生成方法
Sep 05 Javascript
js设置文字颜色的方法示例
Dec 30 Javascript
Angular2 自定义validators的实现方法
Jul 05 Javascript
浅谈Express异步进化史
Sep 09 Javascript
Js和VUE实现跑马灯效果
May 25 Javascript
JS实现字符串翻转的方法分析
Aug 31 #Javascript
angular实现input输入监听的示例
Aug 31 #Javascript
vueJs实现DOM加载完之后自动下拉到底部的实例代码
Aug 31 #Javascript
Angular2中监听数据更新的方法
Aug 31 #Javascript
JavaScript使用prototype原型实现的封装继承多态示例
Aug 31 #Javascript
angular2组件中定时刷新并清除定时器的实例讲解
Aug 31 #Javascript
解决Angular4项目部署到服务器上刷新404的问题
Aug 31 #Javascript
You might like
深入php多态的实现详解
2013/06/09 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
2014/05/15 PHP
php中分页及SqlHelper类用法实例
2017/01/12 PHP
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
JQuery onload、ready概念介绍及使用方法
2013/04/27 Javascript
jquery实现滑动图片自己测试的例子
2013/11/05 Javascript
jQuery中常用的遍历函数用法实例总结
2015/09/01 Javascript
JavaScript中的继承之类继承
2016/05/01 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
微信小程序“摇一摇”的实例代码
2017/07/20 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
Python getopt模块处理命令行选项实例
2014/05/13 Python
python使用wxPython打开并播放wav文件的方法
2015/04/24 Python
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
python字符串string的内置方法实例详解
2018/05/14 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
django admin.py 外键,反向查询的实例
2019/07/26 Python
用Python抢火车票的简单小程序实现解析
2019/08/14 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
.NET面试题:什么是值类型和引用类型
2016/01/12 面试题
幼儿教师个人求职信范文
2013/09/21 职场文书
医院后勤自我鉴定
2013/10/13 职场文书
大学生的网上创业计划书
2013/12/31 职场文书
预备党员思想汇报
2014/01/08 职场文书
甜品店创业计划书
2014/08/14 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
薪资证明范本
2015/06/19 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
go设置多个GOPATH的方式
2021/05/05 Golang