• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    Ошибка: Ваша версия Grand Theft Auto V не поддерживается RAGE Multiplayer.
    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Проблема Как присвоить значение в vuejs? Почему оно не присваивается?

Статус
В этой теме нельзя размещать новые ответы.

Ilya Bochenin

Участник портала
28 Май 2022
87
7
23
Как присвоить значение в vuejs? Я передаю данные с сервера как мне их присвоить в строчку vuejs IPText не выводится


C#:
string IPText = $"{player.Address}";
Trigger.ClientEvent(player, "openAceeptPanel", IPText);

JavaScript:
mp.events.add("openAceeptPanel", (IPText) => {
  if (!loggedin || chatActive || editing) return;
  global.accept.active = true;
  global.menuOpen3();
  acceptState = true;
  global.accept.ip = `${IPText}`;
});


JavaScript:
var accept = new Vue({
    el: "#app",
    data: {
      ip: ``,
        ...
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
3,028
1,750
211
28
Почему обращение к объекту accept ведётся через global.accept ?
И что мешает тебе создать метод внутри объекта accept? У Vue есть 'methods', почитай о них, создай метод и вызывай его, чтобы управлять переменными изнутри объекта, а не снаружи.


JavaScript:
el: "#app",
data: {
    ip: ``,
},
methods: {
    setIp: function(data) {
        this.ip = data;
    }
}
 

Ilya Bochenin

Участник портала
28 Май 2022
87
7
23
Почему обращение к объекту accept ведётся через global.accept ?
И что мешает тебе создать метод внутри объекта accept? У Vue есть 'methods', почитай о них, создай метод и вызывай его, чтобы управлять переменными изнутри объекта, а не снаружи.


JavaScript:
el: "#app",
data: {
    ip: ``,
},
methods: {
    setIp: function(data) {
        this.ip = data;
    }
}
А как обратится к самому методу setIp
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
3,028
1,750
211
28

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
3,028
1,750
211
28

X-Clusiv

Модератор
Команда форума
Moderator
BackEnd developer
4 Окт 2020
731
329
161
30

X-Clusiv

Модератор
Команда форума
Moderator
BackEnd developer
4 Окт 2020
731
329
161
30
Мне кажется тут отсутствует понимание взаимодейсвия между клиентом и cef`ом(Внутиигровым браузером).
Это два слоя, общение между которыми происходит по средствам:


JavaScript:
mp.trigger('Название клиентского эвента', arg1, arg2...)//Это обращение из самого браузра к клиенту.
C#:
HtmlWindow CEF;

private void exampleUI() {
    CEF = new HtmlWindow("package://cef/index.html");//Это мы создали новую "вкладку" в браузере
    cef.executeJs("console.log('Это сообщение будет отображено в консоли браузера')");// Код будет выполнен в этой "вкладке"
    cef.executeJs("accept.ip = '127.0.0.1'");// это пример устаноки переменной у компонента Vue
    cef.call('openAcceptPanel', '127.0.0.1');// не знаю работает ли эта функция на c#(возможно здесь она callJs) но на JS точно работает, это второй способ. Который вызывает созданный эвент в браузере mp.events.add...
    Rage.Ui.Cursor.Visible = true;
}
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
3,028
1,750
211
28

X-Clusiv

Модератор
Команда форума
Moderator
BackEnd developer
4 Окт 2020
731
329
161
30
Тогда нужно обращаться к переменной браузера.

Код:
mp.events.add("openAceeptPanel", (IPText) => {
  if (!loggedin || chatActive || editing) return;
  browser.execute(`accept.active = true;
                   menuOpen3();
                   accept.ip = '${IPText}';
                  `)
 
  acceptState = true;
});
 

XDeveluxe

⚡️BackEnd Developer
Команда форума
Moderator
High developer
BackEnd developer
30 Авг 2021
3,028
1,750
211
28
Тогда нужно обращаться к переменной браузера.

Код:
mp.events.add("openAceeptPanel", (IPText) => {
  if (!loggedin || chatActive || editing) return;
  browser.execute(`accept.active = true;
                   menuOpen3();
                   accept.ip = '${IPText}';
                  `)

  acceptState = true;
});
menuOpen3 явно не браузерный, судя по тому, что он пытается с ним работать через global. Да и устанавливать переменную таким образом как-то уж слишком по-скотски, тем более, когда для такого есть методы как в примере выше. А по поводу .execute - я писал выше.
 
Реакции: X-Clusiv

Ilya Bochenin

Участник портала
28 Май 2022
87
7
23
menuOpen3 явно не браузерный, судя по тому, что он пытается с ним работать через global. Да и устанавливать переменную таким образом как-то уж слишком по-скотски, тем более, когда для такого есть методы как в примере выше. А по поводу .execute - я писал выше.
Я уже решил свою проблему, нужно было обращаться через execute
 
Статус
В этой теме нельзя размещать новые ответы.