Загрузь элементом, посланный из-за ng-click с textarea через идентификацию

То, что я хочу, состоит, в том, что кликнув в botton, я послал себе комментарий и это загрузил в Вашем соответствующем пойдите что-то подобное в Jqueryque ты загружаешь выражение элементы посредством идентификации $("#commentload" + id).append(template);

Я позволяю мой код AngularJS (Угловой 1), так как и попробованный делать это несколькими формами и даже не и выкрашенным успехом, в котором я хочу

this.sendComments = (stream_id) => {
    let data = {
        stream_id: stream_id,
        body: this.commentBody
    }
    this.CommentService.getComments(data).then((response) => {
        this.comments.push(response.data);
        angular.element('').find(...)
    }).catch(this.failedComment.bind(this));

    this.commentBody = "";
}


<div flex-gt-sm="100" flex>
    <md-divider ></md-divider>
    <md-list flex ng-repeat="cmt in streams['comments']">
        <md-list-item class="md-3-line" ng-repeat="comentarios in cmt">
            <img ng-src="{{comentarios['users']['data']['user_avatar_mini']}}" class="md-avatar" alt="{{comentarios['users']['data']['user_name']}}" />
             <div class="md-list-item-text" layout="column">
               <h3>{{comentarios['users']['data']['user_name']}} - {{comentarios['comment_created_at']}}</h3>
                 <p>{{comentarios['comment_body']}}</p>
             </div>
        <md-divider></md-divider>
        </md-list-item>
     </md-list>



    <md-list flex>
    <!--Aqui cargo los comentarios enviados desde el input-->
        <md-list-item id="stream-{{streams.stream_id}}" class="md-3-line" ng-repeat="comments in stream['comments']">
            <img ng-src="{{comments[0]['users']['data']['user_avatar_mini']}}" class="md-avatar" alt="{{comments[0]['data']['users']['data']['user_name']}}" />
            <div class="md-list-item-text" layout="column">
              <h3>{{comments[0]['users']['data']['user_name']}} - {{comments[0]['comment_created_at']}}</h3>
              <p>{{comments[0]['comment_body']}}</p>
            </div>
            <md-divider></md-divider>
        </md-list-item>
      </md-list>
</div>

<md-card-actions layout="row" layout-align="end center">
    <md-input-container md-no-float class="md-block" flex>
        <label>Comenta!</label>
        <input type="text" data-ng-model="stream.commentBody">
        <md-icon md-font-set="md" style="display:inline-block;" ng-click="stream.sendComments(streams.stream_id)">send</md-icon><!--Cuando haga click cargue el comentario en el id especifico del stream-->
    </md-input-container>
</md-card-actions>

В id="stream-{{streams.stream_id}}" оно - где я хочу реализовать вышеупомянутый груз комментария, посланного согласно stream, загрузочное устройство в списке, если их 30 с различными идентификациями и различными комментариями, загрузьте комментарий в Ваш пойдите корреспондент

1
задан 29.08.2019, 02:05
2 ответа

По моему личному мнению, я не работаю с id, когда я работаю с angularjs, скорее с ng-model следовательно, если ты хотел, чтобы, кликнув в кнопке, были загружены данные, если это договоренность комментариев:

<input type="text" ng-model="comentario" placeholder="ingrese comentario"/>
<button ng-click="actualizar()">Comentar</button>
<div ng-repeat="comentario in comentarios">
  <p>{{comentario}}</p>
</div>

$scope.actualizar = function(){
    $scope.comentarios.push($scope.comentario);
}

, поработав с ng-model, у тебя есть преимущество, которого не необходимо делать один append из твоего элемента html, кроме того стоимость, сделав push с драйвера, становится отвечающей современным требованиям немедленно в виде.

1
ответ дан 03.12.2019, 19:10
  • 1
    Если, но оказывается, что в списке stream он загружается má s stream (Publicació n), который у них есть, чтобы комментировать и tambié n, чтобы удалять и издавать только, что, когда комментируют, есть ли десять публикаций, когда ú комментирует; ltima комментарий появляется во всех demá s он состоит из-за этого в том, что я хочу определить, которому элемент DOM должен присоединяться не, если ты понимаешь меня хорошо то, что я хочу реализовать с этим –  vdjkelly 15.11.2016, 15:43
  • 2
    И если он добавляет комментарий к публикации (stream) каков, это соответствующее поведение комментария? Потому что, если ты хочешь определить, что комментарий остался в элементе в специфическом средстве, в этом элементе ты должен работать с ng-model не, если я объясняюсь –  sioesi 15.11.2016, 15:45
  • 3
    Как таковой stream - timeline, полный публикаций стиль Facebook, как когда ты добавляешь комментарий к твоему publicació n он присоединяется прямо в нее и не в demá s это поведение, которое я хочу комментария взамен в моем Вебе, делается во всех не deberí чтобы отражаться во всех, если не в той, что себе комментирует только ясно в Backend, он присоединяется в единственную публикацию, но в frontend он делается во всех и не правильное deberí когда одинокая s та, которая комментируется –  vdjkelly 15.11.2016, 16:03
  • 4
    Дело в том, что в этом случае комментарий был бы должен ссылаться на публикацию и не на любой. Поэтому комментарий сослался бы на публикацию пойдите или что-то похожее. –  sioesi 15.11.2016, 16:09
  • 5
    < md-card-actions layout =" row" layout-align =" end center" > < md-input-container md-no-float class =" md-block" flex> < label> Прокомментируй! < / label> < неудар в лунку type =" text" датируй - ng-model =" stream.commentBody" > < md-icon md-font-set =" md" style =" display:inline-block; " ng-click =" stream.sendComments (streams.stream_id) " > send< / md-icon> <! - Когда он кликнет, я загрузил комментарий в специфическом id stream - > < / md-input-container> < / md-card-actions> Если и я это делаю allí stream.sendComments (streams.stream_id) и даже не, потому что меня обновляет комментарий во всех публикациях –  vdjkelly 15.11.2016, 16:19

Спасибо мне служил многим твой пример

this.sendComments = (stream_id, streams) => {
            let data = {
                stream_id: stream_id,
                body: this.comentario
            }
            this.CommentService.getComments(data).then((response) => {
                streams.comments.data.push(response.data);
            }).catch(this.failedComment.bind(this));

            this.comentario = "";

        }


<div flex-gt-sm="100" flex>
                  <md-divider ></md-divider>
                  <md-list flex ng-repeat="comentarios in streams.comments.data">
                      <md-list-item class="md-3-line">
                          <img ng-src="{{comentarios['users']['data']['user_avatar_mini']}}" class="md-avatar" alt="{{comentarios['users']['data']['user_name']}}" />
                          <div class="md-list-item-text" layout="column">
                            <h3>{{comentarios['users']['data']['user_name']}} - {{comentarios['comment_created_at']}}</h3>
                              <p>{{comentarios['comment_body']}}</p>
                          </div>
                        <md-divider></md-divider>
                      </md-list-item>

                 </md-list>
          </div>

          <md-card-actions layout="row" layout-align="end center">
              <md-input-container md-no-float class="md-block" flex>
                  <label>Comenta!</label>
                  <input type="text" data-ng-model="stream.comentario">
                  <md-icon md-font-set="md" style="display:inline-block;" ng-click="stream.sendComments(streams.stream_id, streams)">send</md-icon>
              </md-input-container>

          </md-card-actions>

Оставлял код для того, кто служит ему примером

0
ответ дан 03.12.2019, 19:10