web-dev-qa-db-ja.com

angularjsにhtmlインクルードng-クリックを追加する

私はこのコードをmycontrollerに持っています。これをhtml()をhtmlに追加します。ng-clickだけでは機能しません。 ng-clickが機能しない理由を教えてください

 var html='<div ng-click="selectedValue('+Value+')">Value</div>' ;
     $('#myDiv').html(html);

   $scope.selectedValue = function(value){
     $scope.val =value;

  };

ng-click関数selectedValueを使用して、divに表示される値を選択する必要があります

9
kenza

このコードを使用してください:

pluker を参照してください

コントローラー:

var html='<div ng-click="selectedValue(value)">Value</div>',
    el = document.getElementById('myID');

$scope.value='mk';

angular.element(el).append( $compile(html)($scope) )

$scope.selectedValue = function (value) {
    $scope.val = value;
    console.log($scope.val)
};

Html:

<body ng-controller="MainCtrl">
    <div id="myID"></div>
</body>
20
Mukund Kumar

DOM操作はディレクティブのみで行う必要があります。注入する前に要素をコンパイルする必要があることを確認してください。

コード

 var html='<div ng-click="selectedValue('+Value+')">Value</div>' ;
 angular.element(document.getElementByID('myDiv')).append($compile(html)(scope));
5
Pankaj Parkar