vue组件加载完成之后执行方法_Vue.js实现ready函数加载完之后执行某个函数的方法...

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

发布于 2020-7-10|

复制链接

摘记: vue.js 教程Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。

Vue 只关注视图层, 采用自底向上增量开发的设计。

Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

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

```javascript

..

vue.js 教程Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层, 采用自底向上增量开发的设计。

Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

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

```javascript

日期

任务

是否执行

执行结果

影响行数

执行时间

执行时长

成功率

操作

{{td.date}}

{{td.job}}

{{td.is_done==0?'未执行':'已执行'}}

{{td.is_success==0?'成功':(td.is_success==1?'失败':'')}}

{{td.nums}}

{{td.begintime}}

{{td.usedtime}}

{{td.rate}}

重跑

```

尝试了

```javascript

Vue.nextTick(function () {

alert('new message'); // true

})

```

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

```javascript

vm.$nextTick(function () {

alert('new message'); // true

})

```

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

```javascript

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('重跑中');

// $.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();

});

})

```

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值