2017-06-29 45 views
1

我有這樣一個vuejs組件(map.vue):導入腳本錯誤的命令,函數沒有定義

<script> 
import '../../assets/js/map.js' 

export default { 
    name: 'home', 
    data() { 
     return { 
      init_data: {}, 
     } 
    }, 
    created: function() { 
     this.init_data = window.get_init_data(this.view, function(response) { 
       document.title = response.body.page_title; 
       init_map(some_arguments); 
     }); 
    } 
} 
</script> 

map.js:

const key = ******; 
function init_map(some_args) { 
    ... 
} 

錯誤:

[Vue warn]: Error in created hook: "ReferenceError: init_map is not defined"

而且實際上,在源代碼簽名之前檢查它被調用的函數。

注意:我不想在webpack條目中包含map.js,因爲我只需要在一個組件中使用此腳本(map.vue)。

+0

試試'。 require('../../ assets/js/map.js')' –

+0

已經做了@Ole gShleif,問題依然存在。謝謝 –

+0

這不難解釋如何? –

回答

1

試試這個

test.js

export function writeHello() { 
    console.log('hello'); 
} 

***** VUE

import {writeHello} from './../test.js'; 

export default { 
    created() { 
     writeHello(); 
    } 
} 
+0

'export'和'export default'之間是否有區別?兩者都可以使用 –

+1

@HulaHula'export'是您指定類或函數(或多個)的位置,然後可以像上面那樣用大括號指定定義來導入。導出默認意味着如果沒有提供確切的定義,它將在導入時自動返回默認值。一個例子可能是從'/ path/to/bar''導入foo,其中'foo'成爲默認導出。 –

0

Map.js缺少一個出口:

​​
+0

你好,謝謝,但問題仍然存在,它在簽名之前被調用的函數 –

相關問題