vue2自定义事件不执行

webpack -w打包的时候没问题,一切正常;
webpack -p打包后事件触发不了了。

父组件:

<template lang='jade'>
  .wrapper.guest-home-wrapper(
    :style='bgImg'
  )
    a.btn
    a.btn-rule(
      @click='dialogToggle = true',
    ) 活动规则
    common-dialog(
      v-if='dialogToggle',
      @closeDialog='toggle',
    )
</template>

<script lang='babel'>
  import CommonDialog from '../common/dialog.vue';
  export default {
    components: {
      CommonDialog,
    },
    data() {
      return {
        bgImg: {
          backgroundImage: `url(/src/images/bg_start.png)`
        },
        dialogToggle: false,
      }
    },
    methods: {
      toggle() {
        this.dialogToggle = false;
      }
    }
  }
</script>

子组件:

<template lang='jade'>
  .dialog
    section.content
      p 1.活动时间:2017年1月1日—2018年1月1日
    .mask(
      @click='toggle'
    )
</template>

<script lang='babel'>
  export default {
    methods: {
      toggle() {
        this.$emit('closeDialog');
      }
    }
  }
</script>

webpack配置文件:

// 将 CSS 打包成一个独立的文件
const ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
  // 项目入口文件
  entry: './src/guest.config.js',

  // 编译后文件输出路径及文件名
  output: {
    path: __dirname,
    filename: './webapp/dist/js/guest.js'
  },

  module: {
    loaders: [{
      test: /\.vue$/,
      loader: 'vue',
    },
    {
      test: /\.js$/,
      loader: 'babel',
    },
    {
      test: /\.css$/,
      loader: ExtractTextPlugin.extract('style-loader', 'css-loader'),
    },
    {
      test: /\.scss$/,
      loader: ExtractTextPlugin.extract('style-loader', 'css-loader!sass-loader'),
    }],
  },

  vue: {
    loaders: {
      sass: ExtractTextPlugin.extract('vue-style-loader', 'css-loader!sass-loader'),
    },
  },

  plugins: [
    new ExtractTextPlugin('./webapp/dist/css/guest.css', {
      allChunks: true,
    }),
  ],
};
阅读 3k
1 个回答

webpack -p是代码压缩了么?webpackconfig.js 是怎么配置的,不执行控制台报错了没,不知道不是你代码压缩影响的不

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题