Skip to content
hmhao edited this page Aug 26, 2017 · 2 revisions
  • 使用npm run dev,在ie8-显示空白?

因为ie8-没有console同时由于dev-server使用了eventsource-polyfill,该模块中判断console有问题 ,在broswerify-eventsource.js里面改一下就好

if (window.console){
    console.log("polyfill-eventsource added missing EventSource to window");
}
  • 使用npm run build,再通过web服务映射,在所有浏览器中显示空白?

这个需要修改config/index.js配置中的assetsPublicPath,它决定了拉取资源的相对路径,项目由于是发布到github上,所以

assetsPublicPath: '/avalon2-webpack2-spa/'

本地服务改成'/'就行了

  • 自定义组件样式如何设置?

两种方式:

  1. index.ejs内用link形式引入汇总的组件样式 <link rel="stylesheet" type="text/css" href="style.css">
  2. 在组件内使用import或者require引入组件样式 import '@/assets/css/style.css'
  • 组件方法内还能使用$watch$fire等vm的函数吗?

组件方法的上下文(this)都是指向当前的组件vm,除beforeCreate钩子

  • 组件方法内如何获取其他组件的vm?

  1. 组件模板内对子组件使用ref指令,那么可以通过this.$$ref获取该子组件vm
<!--ms-grid这个组件实例在当前组件中的引用名是grid1-->
<ms-grid :ref="grid1" />
methods: {
    onReady () {
      // 当前组件通过this.$$ref.grid1直接访问ms-grid子组件实例vm
      this.$$ref.grid1.setData()
    }
}
  1. 直接通过avalon.vmodels获取,前提是要知道该vm的id