在DOM改变后初始化角度,不起作用

时间:2017-01-07 21:49:19

标签: angularjs angular-ui-bootstrap

我正在尝试重新初始化我的角度应用,所以它会重新渲染DOM,因为我在加载后注入了元素。 这是我的角度函数的简短版本:

JS

(function(angular) {
  'use strict';
angular.module('myApp', ['ui.bootstrap'])
.controller('Controller', function($scope, $http) {

$scope.highlighter1 = function(side, string, load) {
              highlighter.deserialize(string);
};

$http.get('/comments')
.success(function(response) {
    $scope.comments = response;
    var allEl=[];
    var i;
    for (i=0; i<response.length; i++) {
        allEl.push(response[i]._id);
    }
    $http.post('/ranges', {"commentIds":allEl})
    .success(function(result){
        result.forEach(function(item){
            $scope.highlighter1(item.dataAction, item.rangyObject, true); 
      })
    })
});

angular.bootstrap(document.getElementsByTagName('span'),['myApp']);
})
})(window.angular);
当我运行荧光笔对象的反序列化时,会注入我的注释。我也为它们分配了uib-popover的属性,所以最后我在我的文档中有这些属性,并且我再次调用angular.bootstrap时重新渲染它们。它们。

它们正在被渲染(当我尝试从控制台再次手动调用它时,它说它失败了,因为这些元素已经被渲染),但是弹出窗口仍然没有做到这一点。应该这样做(当我点击它不会弹出)。

CSS

@import url(http://fonts.googleapis.com/css?family=Roboto:400,300);

body {
  color: #595959;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5;
}


.highlight-a {
 display: inline-block;
 background-color: #99c2ff;
 border: 1px solid #7699d1;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
color: #223f7a;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
border: 1px solid #e1e1e8;
}

HTML

<div ng-repeat="i in comments">
    <div id={{i._id}} class="task" commentId={{i._id}}> {{i.text}}     </div>
</div>

0 个答案:

没有答案