• vue基础教程



    1.执行npm install

    2.安装stylus,(npm install之后node_module已经有了stylus,但还是要再安装一次)

    npm install --save-dev stylus-loader stylus
    安装了之后,应该就可以直接在vue文件中写stylus了


    3.配置webpack.base.js 快捷导入组件和common目录下的资源

    resolve: {
        extensions: ['.js', '.vue', '.json'],
        alias: {
          'vue$': 'vue/dist/vue.esm.js',
          '@': resolve('src'),
          'components':path.resolve(__dirname,'../src/components'),
          'common':path.resolve(__dirname,'../src/common')
    
        }

    4.配置api调用


    本地调用的话,开启本地localhost,并在localhost下建项目文件夹如ybjccc/api/v1/test/
    在test文件夹下放php接口文件


    a.npm install superagent -D


    b.在main.js引入api.js

    // 引用API文件
    import api from './config/api'
    // 将API方法绑定到全局
    Vue.prototype.$api = api
    
    c.编写api.js
    
    http://blog.csdn.net/fungleo/article/details/53202276
    
    // 配置API接口地址
    var root = 'http://xxxx';
    // 引用superagent
    var request = require('superagent');
    
    // 自定义判断元素类型JS
    
    function toType(obj) {
      return ({}).toString.call(obj).match(/s([a-zA-Z]+)/)[1].toLowerCase()
    }
    
    
    // 参数过滤函数
    function filter_null(o) {
      for (var key in o) {
        if (o[key] == null) {
          delete o[key]
        }
        if (toType(o[key]) == 'string') {
          o[key] = o[key].trim()
          if (o[key].length == 0) {
            delete o[key]
          }
        }
      }
      return o
    }
    /*
     接口处理函数
     这个函数每个项目都是不一样的,我现在调整的是适用于
     https://cnodejs.org/api/v1 的接口,如果是其他接口
     需要根据接口的参数进行调整。参考说明文档地址:
     https://cnodejs.org/topic/5378720ed6e2d16149fa16bd
     */
    function _api_base(method, url, params, success, failure) {
      var r = request(method, url).type('text/plain')
      if (params) {
        params = filter_null(params);
        if (method === 'POST' || method === 'PUT') {
          if (toType(params) == 'object') {
            params = JSON.stringify(params);
          }
          r = r.send(params)
        } else if (method == 'GET' || method === 'DELETE') {
          r = r.query(params)
        }
      }
      r.end(function(err, res) {
        if (err) {
          alert('api error, HTTP CODE: ' + res.status);
          return;
        }
        if(res.statusCode==200)
        {
          var obj=JSON.parse(res.text);
          if(success)
          {
            success(obj);
          }
        }
        else
        {
          var obj=JSON.parse(res.text);
          if(failure)
          {
            failure(obj)
          }
          else
          {
            alert("api statuscode :"+res.statusCode);
          }
          return;
        }
      });
    };
    
    // 返回在vue模板中的调用接口
    export default {
      get: function(url, params, success, failure) {
        return _api_base('GET', root + '/' + url, params, success, failure)
      },
      post: function(url, params, success, failure) {
        return _api_base('POST', root + '/' + url, params, success, failure)
      },
      put: function(url, params, success, failure) {
        return _api_base('PUT', root + '/' + url, params, success, failure)
      },
      delete: function(url, params, success, failure) {
        return _api_base('DELETE', root + '/' + url, params, success, failure)
      },
    }
    
    
    
    调用实例
    
    methods: {
          get_data: function(params) {
            var v = this
            if (!params) params = {}
            // 我们这里用全局绑定的 $api 方法来获取数据,方便吧~
    
            v.$api.get('index.php','',function (r) {
                console.log(r.result);
            })
          },
        }

    基本框架

    http://blog.csdn.net/fungleo/article/details/53213167

  • 相关阅读:
    20191308《信息安全专业导论》第三周学习总结
    快速浏览教材
    2019-2020-1学期 20192408 《网络空间安全专业导论》第十二周学习总结
    第十一周第五小组讨论
    2019-2020-1学期 20192408《网络空间安全专业导论》第十一周学习总结
    第十周第五组小组讨论
    2019-2020-1学期 20192408 《网络空间安全专业导论》第十周学习总结
    第九周小组讨论第五组
    2019-2020-1学期 20192408 《网络空间安全专业导论》第九周学习总结
    第五小组第八周小组讨论
  • 原文地址:https://www.cnblogs.com/norm/p/7079352.html
Copyright © 2020-2023  润新知