아래와 같이 사용자 지정 지시문을 만들었습니다.AngularJS를 사용하여 컨트롤러에서 항목을 동적으로 생성
app.directive('myDirective', function() {
return {
template: '<h1>This is myDirective</h1>',
restrict: 'E',
replace: true,
link: function (scope, element, attrs) {
}
};
});
내 HTML 코드는 아래와 같습니다.
<ion-view view-title="Search">
<ion-content>
<div id="myid"></div>
</ion-content>
</ion-view>
마지막으로 내 컨트롤러는 아래와 같습니다. 아래 그림과 같이 컨트롤러 내부에 my-directive
요소를 동적으로 생성하고 싶습니다. 그러나 그것은 효과가 없습니다. 이 문제를 해결할 방법을 알고 있습니까? 감사합니다. !!
app.controller('Search', function ($scope) {
var content = document.getElementById("myid");
content.setAttribute("class", "list");
var mydir = document.createElement("my-directive");
content.appendChild(mydir);
})
: 아래의 예를 참조하십시오? 당신이 잘못 접근하고있는 것 같습니다. 나는이 지시어를 언제 표시 할 것인지를 결정하는 논리가 있다고 가정하며,이 경우에는 ['ng-if'] (https://docs.angularjs.org/api/ng/directive/ngIf) 나' ui-view '등을 사용하여 동적으로 렌더링합니다. – Rhumborl
불행히도 ng-if 또는 다른 ng 구성 요소가 내 문제를 해결하지 못했습니다. 서버에서 동적으로 오는 템플릿 데이터가 컨트롤러 내부에서 사용되는 것이 가장 좋은 해결책입니다. 그러나 아직 해결할 수 없습니다.) –