apicloud+Vue.js使用指南

如何在 APICloud 中使用 Vue.js 进行高效开发--重要

 

如何在 APICloud 中使用 Vue.js 进行高效开发_GeekAaron的博客-CSDN博客
apiCloud中引用vue.js的用法_weixin_43368635的博客-CSDN博客

在apiCloud中引用vue.js主要是使用vue的双向数据绑定,vue模块可添加在 apiready中生效,添加vue后,初始化页面的函数需要在created中执行,代码如下:
apiready = function () {
    var app = new Vue({
        el: '#myApp',
        data: {
          // 双向绑定的数据类容
          text: "apiCloud双向绑定"
        },
        created: function () {
          // vue页面初始化执行
          this.text = "成功引入vue"
        },
        methods: {
          // 注册vue函数
        }
      })
      // apiCloud 初始页面执行函数
      showTime();
}

// 当前时间
  function showTime() {
    let date = new Date();
    let dateWra = document.getElementsByClassName('cTime')[0];
    dateWra.innerHTML = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`
  }

HTML中便可以使用相应的数据

<div class="cTime"></div>
{{text}}

关于页面传参,可直接用apiCloud提供的方法在vue的 methods中使用:

    methods: {
          let val = this.text;
          api.openWin({
             name: 'nextPage',
             url: './nextPage.html',
                pageParam: {
                //  需要传递的值
                name: 'test',
                   nextPageVal: val 
                }
         });
    }

在下个页面的apiready中就可以直接取到传递的val:

apiready = function () {
    // 获取上个页面传递的Val
    let myVal= api.pageParam.nextPageVal;
}
————————————————

1、 用vue做dcloud的前端,是不是vue脚手架cli不建议用了,否咋把项目复杂化了,我们只需要用vue的数据渲染能力(数据一般都是从服务器ajax拉取的)
2、vue写在哪里:情景:apiready 后拉取服务器数据,下拉刷新重新拉取数据,用vue显示数据。
如果apiready 调用拉取数据方法,这时候new Vue写在apiready 外面,否则其他地方方法读取不到初始创建的vue。
如何拉取服务器数据写在apiready 内,new Vue写在apiready 内外无影响。
一句话:apiready = function() {}内不能定义全局变量。


 

var vuedata = {
        'userinfo': {},  //用户信息
        'yy': {}  //语言包
    };
    var app = new Vue({ //创建vue
        el: '#app',
        data: vuedata
    });
    apiready = function() {
        km_apiready('frm'); //api初始化处理状态栏等方法
        vuedata.yy = km_yuyan_data(); //加入本地多语言包语言数据
        ajax_base(); //从服务器拉取页面基本信息-用户数据
        api.setRefreshHeaderInfo({ //下拉刷新
            loadingImg: './image/refresh.png',
            bgColor: '#ccc',
            textColor: '#fff',
            textDown: '下拉刷新...',
            textUp: '松开刷新...',
            showTime: false
        }, function(ret, err) {
            ajax_base('xiala');        //从服务器拉取页面基本信息-用户数据
            if(vuedata.yy.yuyan!=$api.getStorage('yuyan')){
              vuedata.yy = km_yuyan_data(); //刷新语言包数据
            }
        });

    }

    function ajax_base(xiala) { //获取页面基本信息
        km_fasong_ing(); //开启数据通讯中蒙版 防止重复提交
        api.ajax({
            url: km_sis('sis_url_ome') + 'api/wode/index',        //服务器地址
            method: 'post',
            headers: km_fasong_tou('api/wode/index'),        //头部信息处理函数
            data: {
                values: km_fasong_data({        //发送数据过滤函数
                    uname: $api.getStorage('uname')
                })
            }
        }, function(ret, err) {
            if (xiala) {
                api.refreshHeaderLoadDone(); //关闭下拉刷新
            }
            km_fasong_end(); //数据通讯结束关闭蒙版
            if (ret) {
                ret = km_jieshou(ret);        //接收数据过滤函数
                if (ret.apizt == 1) {
                    vuedata.userinfo = ret.userinfo;        //更新vue内data信息
                } else {
                    km_toast(ret.msg);
                }
            } else {
                if (err.body) {
                    console.log(err.body)
                } else {
                    console.log($api.jsonToStr(err));
                }
                km_toast('网络错误');
            }
        });
    }

==============================================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值