생성 된 HTML (angularJs)에서 ng-click 및 범위 기능 사용

user6561396

다음과 같은 코드가 있습니다.

$scope.printOutRowModel = function(){
    console.log("blah");
}


$scope.createTable = function(name)
{   
        var element = angular.element(document.querySelector('.popup'));
        var content = "";
        content+='<div><hr/>';
        content+='<h4>'+name+'</h4>';
        content+='<table><thead>';
        var columnName = Object.keys($scope.genericModel[name][0]);
    for(var i=0; i<columnName.length; i++)
    {
        if(columnName[i] != "$$hashKey")
        {
        content+='<th>'+columnName[i]+'</th>';
        }
    }
        content+='</thead><tbody>';
    for(var j=0; j<$scope.genericModel[name].length; j++)
    {
        content+='<tr>';
        var value = Object.values($scope.genericModel[name][j]);
        for(var i=0; i<value.length-1; i++)
        {   
        content+='<td>'+value[i]+'</td>';
        }
        content+='</tr>';
        value = null;
    }
        content+='</tbody></table></div>';
        element.html(content);
}

이제 내가 원하는 것은 생성 된 "td"요소에 'ng-click = "printOutRowModel ()"'을 추가하는 것입니다. 여러 가지 방법을 시도했지만 작동하지 않습니다. 내 index.html에 이미있는 다른 요소에 추가하면 작동합니다. 그래서 나는이 생성 된 HTML이 범위 나 그 어떤 것에서 "컴파일"되지 않는다고 생각합니다. 그래서 이것을 할 방법이 있습니까?

MeTe-30

앱에 다음 지시문을 추가하십시오.

app.directive('template', ['$compile', function($compile) {
    return function(scope, element, attrs) {
        attrs.$observe("template", function(_newVal) {
            scope.$applyAsync(function() {
                element.html(_newVal);
                $compile(element.contents())(scope);
            });
        });

    };
}]);

그런 다음 함수에서 .popup클래스 를 선택하는 대신 다음을 createTable수행하십시오.

<div class="popup" template="{{myTableTpl}}"></div>

그리고 다음과 같이 기능을 변경하십시오.

$scope.createTable = function(name)
{   
    var content = "";
    // Create your content...
    $scope.myTableTpl = content;
}

<!doctype html>
<html ng-app="app">



<body ng-controller="ctrl">

  <div template="{{tpl}}"></div>

  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script>

  <script>
    angular.module('app', [])
      .directive('template', ['$compile',
        function($compile) {
          return function(scope, element, attrs) {
            attrs.$observe("template", function(_newVal) {
              scope.$applyAsync(function() {
                element.html(_newVal);
                $compile(element.contents())(scope);
              });
            });

          };
        }
      ])
      .controller('ctrl', function($scope) {
        $scope.tpl = '<h1>METE-30</h1>'
      });
  </script>

</body>

</html>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

ng-options를 사용하여 생성 된 html 드롭 다운에서 기본값을 설정하는 방법

분류에서Dev

주소 범위에있는 사용 가능한 페이지 및 사용 된 페이지 수 찾기

분류에서Dev

ng-repeat-start 및 ng-repeat-end 내에서 범위 사용

분류에서Dev

격리 된 범위 내부의 Angularjs ng-click은 외부 범위에서 함수를 호출합니다.

분류에서Dev

성장 및 필터 기능을 사용하여 ID 및 누락 된 값을 기반으로 Google 스프레드 시트에서 동적 범위를 만드는 방법은 무엇입니까?

분류에서Dev

HTML 문자열에서 형식화 된 날짜 범위 식별 및 바꾸기

분류에서Dev

AngularJS : ng-repeat 생성 범위에서 변수 설정

분류에서Dev

AngularJS : ng-repeat 생성 범위에서 변수 설정

분류에서Dev

루프를 사용하여 정의 된 범위 내에서 난수 생성

분류에서Dev

Luabind를 사용하여 Lua에서 생성 된 범위 지정 클래스

분류에서Dev

Elixir : 범위 생성기 (숫자)에`: into` 사용

분류에서Dev

JavaScript : 생성기 사용 및 생성 된 시퀀스 이해

분류에서Dev

지시문의 격리 된 범위 내에서 'ng-click'실행

분류에서Dev

ng-click에서 AngularJS 변경 범위 변수

분류에서Dev

HTML에서 이미지의 "src"속성을 설정하기 위해 JavaScript에서 생성 된 변수를 어떻게 사용할 수 있습니까?

분류에서Dev

ng-click 기능이 잘못된 순서로 실행 됨

분류에서Dev

VBA-범위 기능을 사용하여 한 시트에서 다른 시트로 복사 및 붙여 넣기

분류에서Dev

일부 범위 날짜에 대한 값 찾기 및 생성

분류에서Dev

범위 및 감소기에 대한 시퀀스 번호 생성

분류에서Dev

정의 된 범위에서 정의 된 상관을 사용하여 R에서 임의 값 생성

분류에서Dev

HTML5 contenteditable-중첩 된 편집 불가능한 범위 및 커서 위치 동작

분류에서Dev

임의 생성기와 관련된 onclick을 사용하여 자바 스크립트 함수로 HTML로 범위 표시

분류에서Dev

ng-repeat 및 ng-model을 사용한 AngularJS 추가 / 제거 기능

분류에서Dev

계층 구조가있는 mongodb에 추가 된 범주 및 하위 범주에서 json 객체 생성

분류에서Dev

AngularJS : jQuery를 사용하여 ng-repeat에서 생성 된 요소에 이벤트 리스너 바인딩

분류에서Dev

Angularjs ng-click이 동적으로 생성 된 목록 태그에서 작동하지 않습니다.

분류에서Dev

재사용 가능한 지시문을 만들기 위해 컨트롤러에서 격리 된 범위 상속

분류에서Dev

AngularJs 및 ES6 클래스 사용 : 'this'는 ng-click에서 사용할 수 없습니다.

분류에서Dev

Angularjs에서 ng-click을 사용하여 개체의 자식 찾기

Related 관련 기사

  1. 1

    ng-options를 사용하여 생성 된 html 드롭 다운에서 기본값을 설정하는 방법

  2. 2

    주소 범위에있는 사용 가능한 페이지 및 사용 된 페이지 수 찾기

  3. 3

    ng-repeat-start 및 ng-repeat-end 내에서 범위 사용

  4. 4

    격리 된 범위 내부의 Angularjs ng-click은 외부 범위에서 함수를 호출합니다.

  5. 5

    성장 및 필터 기능을 사용하여 ID 및 누락 된 값을 기반으로 Google 스프레드 시트에서 동적 범위를 만드는 방법은 무엇입니까?

  6. 6

    HTML 문자열에서 형식화 된 날짜 범위 식별 및 바꾸기

  7. 7

    AngularJS : ng-repeat 생성 범위에서 변수 설정

  8. 8

    AngularJS : ng-repeat 생성 범위에서 변수 설정

  9. 9

    루프를 사용하여 정의 된 범위 내에서 난수 생성

  10. 10

    Luabind를 사용하여 Lua에서 생성 된 범위 지정 클래스

  11. 11

    Elixir : 범위 생성기 (숫자)에`: into` 사용

  12. 12

    JavaScript : 생성기 사용 및 생성 된 시퀀스 이해

  13. 13

    지시문의 격리 된 범위 내에서 'ng-click'실행

  14. 14

    ng-click에서 AngularJS 변경 범위 변수

  15. 15

    HTML에서 이미지의 "src"속성을 설정하기 위해 JavaScript에서 생성 된 변수를 어떻게 사용할 수 있습니까?

  16. 16

    ng-click 기능이 잘못된 순서로 실행 됨

  17. 17

    VBA-범위 기능을 사용하여 한 시트에서 다른 시트로 복사 및 붙여 넣기

  18. 18

    일부 범위 날짜에 대한 값 찾기 및 생성

  19. 19

    범위 및 감소기에 대한 시퀀스 번호 생성

  20. 20

    정의 된 범위에서 정의 된 상관을 사용하여 R에서 임의 값 생성

  21. 21

    HTML5 contenteditable-중첩 된 편집 불가능한 범위 및 커서 위치 동작

  22. 22

    임의 생성기와 관련된 onclick을 사용하여 자바 스크립트 함수로 HTML로 범위 표시

  23. 23

    ng-repeat 및 ng-model을 사용한 AngularJS 추가 / 제거 기능

  24. 24

    계층 구조가있는 mongodb에 추가 된 범주 및 하위 범주에서 json 객체 생성

  25. 25

    AngularJS : jQuery를 사용하여 ng-repeat에서 생성 된 요소에 이벤트 리스너 바인딩

  26. 26

    Angularjs ng-click이 동적으로 생성 된 목록 태그에서 작동하지 않습니다.

  27. 27

    재사용 가능한 지시문을 만들기 위해 컨트롤러에서 격리 된 범위 상속

  28. 28

    AngularJs 및 ES6 클래스 사용 : 'this'는 ng-click에서 사용할 수 없습니다.

  29. 29

    Angularjs에서 ng-click을 사용하여 개체의 자식 찾기

뜨겁다태그

보관