如何动态创建内容块然后添加类?

时间:2017-03-29 15:16:22

标签: javascript html angularjs

我对Angularjs很不好,抱歉。我需要在onclick上创建“评论框”,然后我需要将这个“框”插入到global-wrap-container(它是一个类名)。

我在这里有“评论框”

  <div class="comment-reply-wrap" >
    <div class="comment">
      <div class="info" >
        <div class="left-side-info">
          <img src="img/avatar.png" alt="avatar" class="avatar">
          <span class="name">{{repUsers.name}}</span>
        </div>
        <div class="right-side-info">
          <p class="user-text" ng-bind-html='repUsers.text'>
            <img class="comment-image" src="">
          </p>
        </div>
        <div class="bottom">
          <span class="comment-email">{{repUsers.email}}</span>
          <span class="comment-date">10/29/2010 at 6:40AM</span>
          <button type="submit" class="reply" ng-click="createReplyForm($event)">
            <i class="fa fa-reply" aria-hidden="true"></i>
          </button>
        </div>
      </div>
    </div>
  </div>

这是函数,我推送信息和“评论”出现。

$scope.addRepUser = function() {
$scope.bool = false;

//Dynamically create array of objects and push data
  $scope.repUsers.push({
  name: $scope.repUser.name,
  email: $scope.repUser.email,
  text: $scope.repUser.text
  });


//Clear input fields in main form
$scope.repUser.name = '';
$scope.repUser.email = '';
$scope.repUser.text = ''; };

2 个答案:

答案 0 :(得分:0)

你必须使用ng-repeat

$photoService->uploadPhoto($filename);

答案 1 :(得分:0)

你需要停止思考&#39;插入div&#39;比如,这不是jquery。 在angular中,您可以在html中放置一个div,它将根据示波器的布尔值显示。

<div ng-show="shouldBeDisplayed"></div>

在控制器中:

function displayDiv(){
    $scope.shouldBeDisplayed = true;
    //use the line below if you want to toggle show
    //$scope.shouldBeDisplayed = !$scope.shouldBeDisplayed;
}

要显示注释列表,您需要使用数组:

$scope.comments = [];

在提交时,您必须将对象推入此数组中。它将显示ng-repeat

<div class="your-class" ng-repat="comment in comments">
</div>

这里的机制应该是:

  • 点击回答评论
  • 控制器应该点击
  • 更新布尔值
  • 它将显示您的表单(如果您愿意,则隐藏列表)
  • 提交表格
  • 将值推送到所需列表并更新布尔值以隐藏表单

工作小提琴:http://jsfiddle.net/4t37u642/