在angularjs中添加一个html包含ng-click

ken*_*nza 9 angularjs angularjs-ng-click

我在mycontroller中有这个代码我会将它添加html()到我的html中,所有这一切只是ng-click dos不起作用!你有一个想法为什么ng-click dos不起作用

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

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

  };
Run Code Online (Sandbox Code Playgroud)

我必须使用ng-click函数selectedValue选择div中显示的值

Muk*_*mar 20

使用此代码:

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)
};
Run Code Online (Sandbox Code Playgroud)

HTML:

<body ng-controller="MainCtrl">
    <div id="myID"></div>
</body>
Run Code Online (Sandbox Code Playgroud)


Pan*_*kar 5

您应该仅通过指令进行DOM操作,确保在注入元素之前需要先对其进行编译。

 var html='<div ng-click="selectedValue('+Value+')">Value</div>' ;
 angular.element(document.getElementByID('myDiv')).append($compile(html)(scope));
Run Code Online (Sandbox Code Playgroud)