2015-02-01 3 views
1
나는 다음과 같은 문제에 대한 도움을 찾고 있어요

을 가진 angluarjs 지시 요소를 주입 정말 간단하다) :innerHTML을

<h1>Hello world</h1> 

그리고 나는이 d를 주입하려고하는 컨트롤러를 가지고있다. irective :

(...) 
cell = document.getElementById("body"); 
cell.innerHTML = "<hello></hello>"; 
(...) 

내 문제 : 은 "안녕하세요"요소가 올바르게 HTML 페이지하지만 직접 요소를 넣으면 템플릿의 메시지가

을 표시되지 않습니다 "안녕하세요 단어"에 삽입되어 html 페이지에서 작동합니다 ...

문제를 이해하고 해결책을 찾도록 도와주십시오.

는이 같은

+0

이것은 당신이 각도에서이 작업을 수행하는 방법이 아니다. 당신은 cell = document.getElementById ("body")를 사용하면 안됩니다. cell.innerHTML = ""; 위에서 말한 것처럼 사실 요소를 페이지에 직접 배치합니다. –

+0

이 답변을 주셔서 감사합니다,하지만 내 문제는이 요소가 체계적으로 삽입되지 않습니다 : 그것은 때로는 다른 요소를 삽입, 실제로 20 개 이상의 가능성이 있습니다 의존합니다. – Iakin

+0

https://docs.angularjs.org/api/ng/directive/ngIf –

답변

0

더 감사합니다 http://plnkr.co/edit/uR6ViwNaaVZijSElrTJz?p=preview

var app = angular.module('plunker', []); 

app.controller('MainCtrl', function($scope) { 
    $scope.name = 'World'; 
}).directive('hello', function() { 
    return { 
     restrict: 'E', 
     templateUrl: 'hello.html' 
    } 
}); 


    <body ng-controller="MainCtrl"> 
    <p>Hello {{name}}!</p> 

    <hello></hello> 
    </body>