require
, очевидно, исполняется* во время создания(декларации) экспортируемого объекта, задолго до того как этот объект попадёт в Vue и превратится в Vue-компонент.require
, очевидно, исполняется в глобальном контексте, в котором недоступен (какой-либо) this
.<template>
<div>
<component :is="SvgView" class="sp-svg-styles"/>
</div>
</template>
<script>
export default{
props:['name'],
computed: {
SvgView() {
return require('./../Icons/'+this.name+'.svg');
}
}
}
</script>
require
на самом деле работает на этапе компиляции, подготавливая и загружая в бандл все файлы по маске ./../Icons/*.svg
, а на этапе исполнения заменяется внутренней функцией, возвращающей значение по имени. Нередко нужен такой фунционал, но найти не могу
<div class="div" data-counter="1"></div>
<div class="div" data-counter="2"></div>
{% for i in [1..3] %}
<div class="div" data-counter="{{ i }}"></div>
{% endfor %}
В примере ниже, метод makeInterviewer(): Interviewer возвращает тип интерфейса Interviewer.Этот метод ничего не возвращает, а только объявляет требования к наследникам - они должны реализовать этот абстрактный метод и уже вернуть конкретный объект, реализующий интерфейс Interviewer.
interface Interviewer {
public function askQuestions();
}
abstract class HiringManager {
abstract public function makeInterviewer(): Interviewer;
public function takeInterview() {
$interviewer = $this->makeInterviewer();
$interviewer->askQuestions();
}
}
class TeamLead implements Interviewer {
public function askQuestions() {
...
}
}
class Boss extends HiringManager {
public function makeInterviewer(): Interviewer {
return new TeamLead();
}
}
Допустим пусть это будет exe который убирает отдачу в игре, то есть с игрой никакого взаимодействия
sudo -u %username% crontab -e
) добавьте строкуMAILTO=
MAILTO=email@example.com
0 */2 * * * /bin/backup.sh > /dev/null