AddEventHandler("search", "BeforeIndex", Array("MyClass", "BeforeIndexHandler"));
class MyClass
{
private static $file_abs_path = "";
public static function BeforeIndexHandler($arFields)
{
$io = CBXVirtualIo::GetInstance();
if ($arFields["MODULE_ID"] == "main")
{
list($site_id, $file_rel_path) = explode("|", $arFields["ITEM_ID"]);
$file_doc_root = CSite::GetSiteDocRoot($site_id);
self::$file_abs_path = preg_replace("#[\\\\\\/]+#", "/", $file_doc_root."/".$file_rel_path);
$f = $io->GetFile(self::$file_abs_path);
$sFile = $f->GetContents();
if (isset($sFile) && $sFile != "")
{
$replacer = new MyClass;
$replacer->file_abs_path = self::$file_abs_path;
$sFile = preg_replace_callback("/<\\?\\\$APPLICATION->IncludeComponent\\(\\s*\"bitrix:main.include\",(.*?)\\?>/mis", array($replacer, "replace"), $sFile);
$arFields["BODY"] = CSearch::KillTags($sFile);
}
}
return $arFields;
}
public static function replace($matchParams)
{
$io = CBXVirtualIo::GetInstance();
if (preg_match("/\"AREA_FILE_SUFFIX\"\\s*=>\\s*\"(.*?)\",/", $matchParams[1], $match))
{
$slash_pos = strrpos(self::$file_abs_path, "/");
$sFilePath = substr(self::$file_abs_path, 0, $slash_pos+1);
$sFileName = substr(self::$file_abs_path, $slash_pos+1);
$sFileName = substr($sFileName, 0, strlen($sFileName)-4)."_".$match[1].".php";
$f = $io->GetFile($sFilePath.$sFileName);
return $f->GetContents();
}
return "";
}
}
При обновлении Vue списка элементов, отображаемого директивой v-for, по умолчанию используется стратегия обновления «на месте». Если порядок элементов массива или объекта изменился, Vue не станет перемещать элементы DOM, а просто обновит каждый элемент «на месте», чтобы он отображал новые данные по соответствующему индексу. Во Vue версий 1.x подобное поведение достигалось указанием track-by="$index".
Режим по умолчанию эффективен, но применим только в случаях, когда результат отрисовки вашего списка не полагается на состояние дочерних компонентов или временные состояния DOM (например, значения полей форм).
data: {
question: {
num1: '',
num2: '',
},
},
Пробуйте, проверяйте, читайте что он пишет - поймете зачем это нужно.