(Vue.js 学习一)Vue学习记录

Vue.js 配合Element-Ui 开发

环境安装

$ sudo npm install vue
$ sudo npm install --global vue-cli
$ npm i element-ui -S

新建项目

$ vue init webpack my-project
$ cd my-project
$ npm install
$ npm run dev

关于import 路径的问题

可以在build目录下webpack.base.conf.js增加alias ,以后就不用在写.././了

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

Vue语法注意点

v-bind 可以写成: 比如组件之间传值可以用

<v-header :seller="seller"></v-header>

style 的样式报错

<style lang="stylus" rel="stylesheet/stylus">

  .header
    width 100%
    height 80px
    position: relative
    background: rgba(7, 17, 27, 0.5)
</style>

在packge.json 下加入这两个 “stylus-loader”: “^3.0.2”, “stylus”: “0.52.4”,

这里很奇怪别人的项目只要加入”stylus-loader”: “^3.0.2” 就行了。但是我的不加”stylus”: “0.52.4”,就会报错。提示安装不成功,

错误信息如下: peerDependencies WARNING stylus-loader@^3.0.2 requires a peer of stylus@>=0.52.4 but none was installed

组件之间传值

<v-header :seller="seller"></v-header>
<script type="text/ecmascript-6">
  export default {
    data() {
      return {
        seller: {}
      };
    },
    components: {
      'v-header': header
    }
  };
</script>

组件接受传值

<script type="text/ecmascript-6">

  export default {
    props: {
      seller: {
        type: Object
      }
    },
    data() {
      return {
        
      };
    },
  };
</script>

访问数据的框架

vue-resource axios 两个都可以,但是推荐使用axios

使用栗子

在吗main.js 下配置baseURL

import axios from 'axios'
axios.defaults.baseURL = 'http://gank.io/api/data/Android/'
Vue.prototype.axios = axios

然后这样使用

this.axios.get('/10/1').then(function (response) {
        console.log(response)
      });
Loading Disqus comments...
Table of Contents