{src: require('@/assets/file/1.jpg')}
происходит на этапе сборки и в код попадает уже что-то типа:{src: '/img/1.fd5gdf.jpg'}
или там {src: 'data:image/jpeg;base64,...'}
{src: a("18c2")}
, которое возвращает уже соответственно '/img/1.fd5gdf.jpg'
или 'data:image/jpeg;base64,...'
, т.е. результат обработки require('@/assets/file/1.jpg')
)test
же становится действительна только во время исполнения.{src: require(`@/assets/file/${test}.jpg`)}
, но никакой магии тут всё равно нет: в таких случаях webpack просто обрабатывает require для всех файлов по маске @/assets/file/*.jpg
(что может сильно раздуть размер бандла если в папке много лишнего мусора) и заменяет require(`@/assets/file/${test}.jpg`)
на соответствующую условную конструкцию с применением переменной test
.{src: require(test)}
ты не даёшь webpack'у даже намёка, на то что бы там следовало грузить и откуда. this
для стрелочной функции, потому что ts сам его прекрасно видит - там тупо не может быть никаких вариантов и разночтений: this для стрелочной функции задаётся прямо на месте её создания и принимать никаких иных значений не может.this
используется не в стрелочной функции, а в типе свойства. <template>
<div>
<div id="sp-7O1Ya5yaBAGp"></div>
</div>
</template>
<script>
export default {
mounted() {
(function(w, n) {
w[n] = w[n] || [];
w[n].push({
spId: "7O1Ya5yaBAGp",
blockId: "sp-7O1Ya5yaBAGp"
});
})(window, "superProjectRender");
},
head: {
script: [
{
src: "https://superproject.com/sp.js"
}
]
}
};
</script>
import { isObject, isUndefined, mergeWith } from 'lodash';
export function merge(...args) {
return mergeWith(...args, (a, b) => {
if(
!(isObject(a) && isObject(b)) // хотя бы один не объект
&& !(isUndefined(a) || isUndefined(b)) // оба заданы
&& a !== b // не равны
) return () => null
});
}
Возможно там потребуются ещё какие-то проверки. метод = function(){
console.log(this)
};
и(не важно как) пихаем его в какие-то объекты.хрень.метод() // this - хрень
хрень.кишки.метод() // this - хрень.кишки
метод() // this - window
хрень.метод.call(хрень.кишки) // this - хрень.кишки
метод.call(хрень.кишки) // this - хрень.кишки
метод.call(null) // this - null
элемент.addEventListener('оппа', хрень.метод) // this -элемент
элемент.addEventListener('оппа', метод) // this -элемент
элемент.addEventListener('оппа', хрень.кишки.продукт.метод) // this -элемент
fn.call(!this ? this : obj)
- это чушь скорее всего. Если this - falsy, то ставим его как this при вызове функции fn, иначе ставим obj. Falsy this может быть только при явном указании(или в strict режиме, при вызове функции напрямую("без точки перед ней")), и скорее всего передача пустого this в таком случае просто сломает выполнение fn.метод = () => {
console.log(this)
};
это можно считать за явное указание this, потому что this тут всегда привязан тот, что был при создании стрелочной функции, независимо от того как и откуда её вызывают.