2017-01-01 1 views
-1

DOM을 생성 한 후 <span ui-popover></span>을 주입 했으므로 popovers를 다시 시작해야합니다. 그렇지 않으면 표시되지 않습니다.ui-popover를 다시 시작할 수 있습니까?

저렇게 멀리 있습니까?

내가 '주위이야 텍스트를 강조 주입 외부 배회하는 라이브러리를 사용하고

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

HTML. 내가 업로드 한 후에 만,

JS

function initHighLighter() { 
    var cssApplier = null; 
    highlighter = rangy.createHighlighter(document); 
    cssApplier = rangy.createClassApplier('highlight-a',{elementAttributes: {'uib-popover':"test"}}/*, {elementAttributes: {'data-toggle':"popover", 'data-placement':"bottom", 'title':"A for Awesome", 'data-selector':"true", 'data-content':"And here's some amazing content. It's very engaging. Right?"}}*/); 
highlighter.addClassApplier(cssApplier); 
cssApplier = rangy.createClassApplier('highlight-b', {elementAttributes: {'uib-popover':"test"}}/*, {elementAttributes: {'data-toggle':"popover", 'data-placement':"bottom", 'title':"B for Best", 'data-selector':"true", 'data-content':"And here's some amazing content. It's very engaging. Right?"}}*/); 
highlighter.addClassApplier(cssApplier); 
} 

나는 텍스트의 일부를 강조하기에 전화 해요 : 당신은 이러한 범위를 수용 할 수 elementAttirbutes를 삽입 할 수 있습니다, 이것은 코드의이 부분에 표시됩니다

JS

(function(angular) { 
    'use strict'; 
angular.module('myApp', ['ui.bootstrap']) 
.controller('Controller', function($scope, $http, $timeout) { 
    $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){ 
       highlighter1(item.dataAction, item.rangyObject, true); 
      }) 
     }) 
    }); 
}) 
})(window.angular); 
,174 (위 기록 INIT 하이라이트 촉구 highlighter1) 서버로부터 그들을

그래서 결국 모든 것을 시작한 다음 DOM과 관련된 속성이 아무 것도하지 않으면 내 DOM이 변경되고 있습니다.

+0

uipopover 태그 정보는 말한다 : "UIPopover는 팝 오버 콘텐츠의 프레젠테이션을 관리하는 아이폰 OS에 사용되는 UIPopoverController의 일반적인 허위 진술입니다.". 그게 네가 묻고있는거야? 그렇지 않은 경우 적절한 태그를 선택하고 더 많은 문맥을 제공하십시오. 그리고 귀하의 코드를 게시 : 그 StackOverflow에 대해 무엇입니까. –

+0

태그가 다시 지정되었습니다. 투표가 왜 필요한지 확실하지 않습니다. –

+0

결론에 도달하지 마십시오. 나는 downvote하지 않았다. 실제로 코드의 작은 스 니펫은 실제로 '입니까? 더 많은 컨텍스트를 제공하고 달성하려는 내용을 설명하고 코드를 게시하는 방법은 어떻습니까? –

답변

0

<span uib-tooltip="hello world"></span> 

을 (접두사를 통지)한다 마크 업 또는 동적 콘텐츠를 원하는 경우 툴팁을 다시 초기화하려면

$scope.welcomeMessage = "hello world"; // inside controller 
.. 
<span uib-tooltip="{{welcomeMessage}}"></span> 

, 당신은 $destroy 이벤트를 트리거하고 그것을 할 수 있습니다 다시 작성하면 ng-if을 사용하고 필요시 true으로 설정하면됩니다.

<span ng-if="doneUpdating" uib-tooltip="hello world"></span> 
+0

작동하지 않습니다. 어쩌면 내 문제를 잘못 전달했을 수도 있습니다. 서버에서 초기 페이지를 요청한 후에 이 추가됩니다. 특정 단락에 대해 추가됩니다. 이제,이 속성을 추가하는 것은 마치 인 것처럼 보이지만 실제로 작동 할 수는 없으며 uib-popover가 아니라 ng-if가 아닙니다. –

+0

[mcve] (http://stackoverflow.com/help/mcve)를 만들 수 있습니까? – svarog

+0

mcve를 만드는 것은 어려울 것입니다. 초기 문제에서 코드의 관련 영역을 제공하면서 문제를 확장했습니다. –

관련 문제