BitrixVue 3
SkillDev toolsCovers BitrixVue 3 — ui.vue3 / ui.vue3.bitrixvue, createApp, integration with Bitrix localization and REST, migration from Vue 2. Applied when building reactive admin/public UI with Vue inside Bitrix. Key terms — BitrixVue, ui.vue3.bitrixvue, Vue 3, createApp, Loc.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the BitrixVue 3 skill
What this skill tells your AI
The instructions your AI receives, as published by bxmaximum/bitrix-framework-skills in skills/bitrix-vue/SKILL.md and read by ahel’s review.
BitrixVue 3 wraps Vue 3 for use inside Bitrix (ui module 22.100+). Vue 2 is deprecated.
Features:
- Same Vue 3 API with Bitrix integrations (loc, events, REST).
- Single shared Vue version across product — no
window.Vuepollution. - Not suitable for SSR or SFC
.vuefiles requiring server compilation.
Loading
In extension (preferred)
import { BitrixVue } from 'ui.vue3.bitrixvue';
import { Loc } from 'main.core';
BitrixVue.createApp({
data() {
return { items: [] };
},
mounted() {
this.loadItems();
},
methods: {
loadItems() {
BX.ajax.runAction('vendor:module.item.list').then((r) => {
this.items = r.data.items;
});
},
},
template: '<div><div v-for="item in items" :key="item.id">{{ item.name }}</div></div>',
}).mount('#app');
- Import
BitrixVuefromui.vue3.bitrixvue(not bareui.vue3). - Import Vue primitives (
ref,computed,h, …) fromui.vue3when needed. - Put
ui.vue3/ui.vue3.bitrixvueinconfig.phprel.
On PHP page (legacy)
\Bitrix\Main\UI\Extension::load('ui.vue3');
<div id="app"></div>
<script>
BX.BitrixVue.createApp({ /* ... */ }).mount('#app');
</script>
Localization
import { Loc } from 'main.core';
import { BitrixVue } from 'ui.vue3.bitrixvue';
// Messages from lang files loaded via Extension
Loc.getMessage('VENDOR_MODULE_ITEM_TITLE');
// Filter phrases by prefix (BitrixVue helper):
BitrixVue.getFilteredPhrases(vueInstance, phrasePrefix, phrases);
// signature: (vueInstance, phrasePrefix, phrases?) — phrases optional (defaults to instance messages)
Register messages in extension lang/ and load via Extension::load. Do not import Loc from ui.vue3.
REST Integration
BX.rest.callMethod('vendor.module.item.get', { id: 1 }).then((result) => {
this.item = result.data();
});
TypeScript
IDE definitions: bitrix/modules/ui/install/js/ui/vue3/ui.vue3.d.ts — add as external library if not auto-detected.
Migration from BitrixVue 2
- Replace
Vue.create/BitrixVue.createwithBitrixVue.createApp. - Update lifecycle hooks (
destroyed→unmounted). - Remove Vue 2-specific filters and
$on/$offon instances. - See official migration guide on dev.1c-bitrix.ru.
Checklist
- BitrixVue 3 only — no Vue 2.
-
BitrixVuefromui.vue3.bitrixvue; Vue APIs fromui.vue3;Locfrommain.core. - Code in
/local/js/extension, not inline in templates when possible. -
ui.vue3/ui.vue3.bitrixvueinconfig.phpreldependencies. - AJAX via
BX.ajax.runActionor REST, not raw fetch without CSRF. - Localization via
Loc, not hardcoded strings.
Signals
- GitHub stars
- 31
- Forks
- 5
- Last commit
- Aug 2026
Advanced
- Catalog kind
- skill
- Gateway key
bitrix-vue- Source
- github.com/bxmaximum/bitrix-framework-skills