Вы должны добавить shebang. Шебанг - первая строка файла. Это то, что система ищет, чтобы выполнить файл.
Он должен выглядеть так:
#!/usr/bin/env python
или реальный путь
#!/usr/bin/python
Вы также должны проверить, что файл имеет право на выполнение. chmod +x file.py
Как сказал Фабиан, взгляните на Википедию: Википедия - Шебанг (ru)
Оба этих примера используют функцию стрелки () => { }
, которая связывает this
с контекстом, отличным от экземпляра Vue.
В соответствии с документацией :
Не используйте функции стрелок для свойства экземпляра или обратного вызова (например,
vm.$watch('a', newVal => this.myMethod())
). Поскольку функции стрелок привязаны к родительскому контексту,this
не будет экземпляром Vue, как вы ожидали бы, иthis.myMethod
будет неопределенным.Чтобы получить правильную ссылку к
this
в качестве экземпляра Vue используйте регулярную функцию:mounted: function () { console.log(this); }
В качестве альтернативы вы также можете использовать сокращение ECMAScript 5 для функции:
mounted() { console.log(this); }
Вы используете функции стрелок .
Документация Vue явно заявляет, что не следует использовать функции стрелок в свойстве или обратном вызове. В отличие от обычной функции, функция стрелки не связывает Это записывает в консоль следующий объект: В то время как ... Если мы используем регулярную функцию (которая должна быть на экземпляре Vue) Записывает в консоли следующий объект: this
. Вместо этого this
привязывается лексически (т. Е. this
сохраняет свое значение из своего исходного контекста). var instance = new Vue({
el:'#instance',
data:{
valueOfThis:null
},
created: ()=>{
console.log(this)
}
});
Window {postMessage: ƒ, blur: ƒ, focus: ƒ, close: ƒ, frames: Window, …}
] var instance = new Vue({
el:'#instance',
data:{
valueOfThis:null
},
created: function(){
console.log(this)
}
});
hn {_uid: 0, _isVue: true, $options: {…}, _renderProxy: hn, _self: hn, …}