Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs ng点击不';不处理通过jquery append创建的链接_Angularjs - Fatal编程技术网

Angularjs ng点击不';不处理通过jquery append创建的链接

Angularjs ng点击不';不处理通过jquery append创建的链接,angularjs,Angularjs,如果在statis链接上使用angular js脚本的ng click属性,它可以很好地工作,代码如下所示 <div class="modal fade" id="cModal" ng-controller="modalController"> <li id="modalp1" class="active"><a ng-click="parentOptions()" href="#">Add Parent</a></li> <

如果在statis链接上使用angular js脚本的ng click属性,它可以很好地工作,代码如下所示

<div class="modal fade" id="cModal" ng-controller="modalController">
  <li id="modalp1" class="active"><a ng-click="parentOptions()" href="#">Add Parent</a></li>
</div>
function modalController($scope) {
  $scope.sthumbEdit = function() {
    $(".dur").show();
  };
  $scope.hthumbEdit = function() {
    $(".dur").hide();
  };
  $scope.parentOptions = function() {
  prepareParentOptions();
  };

  $scope.siblingOptions = function() {
   prepareSiblingOptions();
  };

  $scope.childOptions = function() {
   prepareChildOptions();
  };
}


是否有任何方法可以强制ng click属性在动态生成的链接上运行良好。

直接从控制器更改DOM是一个错误,您不应该这样做,而是需要使用指令来创建“自定义元素”和服务

如果使用AngularJS,则直接使用Jquery编辑DOM会适得其反, 如果要使用Jquery,必须将其包装在指令中


我建议您充分理解AngularJS,其中包含许多AngularJS模块,可以帮助您。

如果您使用jquery添加html,则需要编译内容并将其注入DOM。差不多

var元素=$compile('{{{total}}

')(范围)


有关示例,请参见“如何编译指令”部分

感谢提供有用的信息。实际应用程序内置于jquery中。我将回顾并逐步将其架构替换为angular js。如果您从angular的正常使用范围之外调用它:angular.element(app_element).injector().get('$compile')('{{total}}

')($rootScope);
function modalController($scope) {
  $scope.sthumbEdit = function() {
    $(".dur").show();
  };
  $scope.hthumbEdit = function() {
    $(".dur").hide();
  };
  $scope.parentOptions = function() {
  prepareParentOptions();
  };

  $scope.siblingOptions = function() {
   prepareSiblingOptions();
  };

  $scope.childOptions = function() {
   prepareChildOptions();
  };