$state.params
에 따라 변경되는 동적 버튼을 사용하여 ng-repeat를 만들려고 했으므로 지시문에 래핑했습니다.Angularjs 1.5 지시어 요소 html을 대체합니다.
link:function(scope,element,attrs) {
$rootScope.$watch('params.source',function() {
var link = scope.link;
var name = scope.name;
var href = $state.href('home',{source:link});
if($state.params.source.indexOf(scope.link) == -1) {
var template = '<a href="'+href+'" class="btn
btn-default">'+name+'</a>';
}
else template = '<a href="'+href+'" class="btn
btn-default">'+name+' what!?</a>';
el = $compile(template)(scope);
element.replaceWith(el);
});
}
그러나 params
의 첫 번째 변경 후 는 element
는 잊어 및 Cannot read property 'replaceChild' of null
어떻게 element
를 대체 할 수와 답한다?
편집 : NG-쇼 또는
NG-경우 감사를 사용할 수없는 이유는 최종 제품에서 다른 sowmething의 전체 요소를 교체 할 필요가, 즉입니다!
고마워 Craig, "what"부분은 개념이 작동하는지 확인하는 것임을 언급하는 것을 잊어 버렸습니다. 조건이 충족되면 전체 버튼을 다른 것으로 바꾸기 위해이 작업을 수행합니다. 모든 것을 대체해야하므로 ng-hide/show와 함께 작동하도록 할 수는 없습니다. 내 질문에 분명히하겠습니다. – thomas
콘텐츠가 다른 두 가지 유형의 요소간에 전환 만 할 예정입니까? 'a' 태그와'div' 태그와 같은 것입니까? – CraigR8806
아이디어는 활성화되었을 때 버튼을 여러 버튼 (예 : 하위 메뉴)으로 바꾸는 것입니다. 그래서'$ state'가 바뀔 때 'a'와'a '의 목록을 바꾸어야합니다. (원래는 안됩니다.) – thomas