Изменения в данных Ember не показывают живых изменений в HTML - PullRequest
0 голосов
/ 16 марта 2020

В моем приложении ember, как показано ниже, когда пользователь нажимает кнопку «Отправить», действие в компоненте отправит запрос api post и получит успешные данные. Это можно увидеть на вкладке данных ember inspector, но мне нужно обновить страницу sh, чтобы увидеть новый добавленный элемент, я попробовал какой-то пример, показанный в руководстве ember, ничто не помогает

Мой код действия

actions:{
    send(Text_Message){
        if(Text_Message != null){
            console.log(this.chatid);
            var data = {
                    "Message" : Text_Message,
                    "ChatId" : this.chatid
            }
            var store = this.get('store').createRecord('message',data)
            store.save().then((response)=>{
            })
        }else{
            alert("Type something to send")
        }
    }

}

шаблон ручки -

{{#if messages}}
        <div>
        {{#each messages as |msg|}}
            <div class= {{check msg.SenderId userid }}> 
                {{msg.Message}}
             </div>
           {{/each}}
        </div>
        {{else}}
        <div class = "groupmessage-no-Msg">
            <div class="groupmessage-msg-content"> No Messages </div>     
        </div>
        {{/if}}
        <div class = "groupmessage-msg-control">
            {{input  type="text" placeholder="Type a Message Here... " value=Text_Message}}
            <div {{ action 'send' Text_Message}} class="groupmessage-sendbutton groupmessage-sendbutton1" >Send</div>
        </div>

1 Ответ

0 голосов
/ 03 апреля 2020

вам нужно pu sh данные, которые вы отправили в массив сообщений,

this.messages.push(data);

, если он не обновляется, используйте

 this.messages = [...this.messages, { ...data }]
...