Angularjs ng点击不';不处理通过jquery append创建的链接
如果在statis链接上使用angular js脚本的ng click属性,它可以很好地工作,代码如下所示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> <
<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();
};