国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vuejs實現ready函數加載完之后執行某個函數的方法

2024-05-06 15:30:55
字體:
來源:轉載
供稿:網友

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();  }); })            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 新安县| 平潭县| 酒泉市| 岳阳县| 泉州市| 吉首市| 米脂县| 西安市| 溧阳市| 探索| 论坛| 临沂市| 玛多县| 嘉兴市| 澎湖县| 舞阳县| 商洛市| 五河县| 壤塘县| 和硕县| 莱芜市| 江陵县| 济源市| 饶河县| 集贤县| 基隆市| 澄迈县| 饶平县| 广丰县| 满城县| 儋州市| 威海市| 儋州市| 康马县| 翁牛特旗| 普安县| 雅安市| 南溪县| 宜兴市| 五原县| 仲巴县|