当前位置: 首页 > 面试题库 >

在AngularJS中处理DOM操作

席嘉祯
2023-03-14
问题内容

当我使用jQuery执行DOM操作(添加新HTML)时,AngularJS不会自动检测新HTML中的变量并将其替换为它们的值。例如:

$scope.showSummary = function($event){

    $($event.currentTarget).html("<div>{{row}}</div>");

};

这是一个简单的例子,但在元素更改HTML(此功能被称为后ng-click),输出它仍然{{row}}不是什么 应该在上下文/范围的意思。


问题答案:

您必须注入$compile(http://docs.angularjs.org/api/ng.$compile)并使用它,以便对新html
有所了解。

$compile('<div>{{row}}</div')($scope).appendTo($event.currentTarget);

但是,在控制器中执行DOM操作时,它一向不受欢迎。您希望您的控制器处理业务,而您的视图处理该视图。

尝试执行指令以执行所需的操作。http://docs.angularjs.org/guide/directive



 类似资料:
  • 问题内容: 我们正在使用构建大型Web应用程序。在不同情况下,我们经常使用自定义指令。当涉及到DOM操作,绑定事件等…发生时,我们在自定义指令的函数中定义了操作DOM的函数,但是我们从控制器调用了它(我们在因此它可以被给定的控制器访问)。我认为这样做的角度方法是为每个函数定义一个单独的自定义指令,并直接从模板中使用它,但是在我们的情况下,我不知道这样做会很方便很多自定义指令,所以BAD要做我们正在

  • 问题内容: 众所周知,使用AngularJS时必须在指令内操作DOM元素。 但是,在某些用例中,在服务内部操作DOM似乎是可以接受的。Misko Hevery在这里谈论这个。您还可以在Bootstrap UI对话框中 找到示例。 Misko的解释很模糊,所以我想知道如何确定何时需要将DOM放入服务而不是指令中。 问题答案: 指令及其定义方式始终附加在DOM节点上。因此,当您定义指令时,它会“扩展”

  • 问题内容: 在遍历数据后,我遇到一些有关DOM操作的问题。 我们有一个与数据绑定并且可以正常工作的jQuery滑块插件,但是当使用时,我们必须将其初始化包装起来以使其起作用—现在甚至不起作用。 我认为使用是不可靠的,这将导致错误的修复。在jQuery中,我可以使用-这很可靠,但是使用似乎也不起作用。 调用了Slider指令,但由于没有将图像加载到DOM中而无法获得滑块中图像的高度-导致滑块的计算高

  • 问题内容: 我在应用中使用angularjs http服务,并且在网站上注意到了这一点: 如果AJAX调用成功(服务器发送回200至209之间的HTTP代码),则将执行传递给success()函数的函数。如果AJAX调用失败(除重定向以外的所有其他代码),则执行传递给error()方法的函数。 显然,重定向状态代码既不是成功也不是错误回调的一部分。那么我们将如何处理重定向? 这就是我的脚本所做的,

  • 问题内容: 我试图弄清楚当我的数据存储在服务中时如何正确处理绑定。 如果将服务放到$ scope中,然后让模板直接绑定到它中,我可以使事情工作,但这似乎是一个糟糕的主意。 我基本上希望拥有它,以便我的视图/控制器能够轻松地将状态更改为服务,并将其反映到各处。 感觉我应该可以执行以下操作,但是不起作用(http://jsfiddle.net/aidankane/AtRVD/1/)。 的HTML JS

  • 问题内容: 我的公司拥有数千个现有的xml Web服务,并开始为新项目采用AngularJs。 http://angularjs.org/上的教程专门使用json服务。看起来他们在控制器中进行了服务调用,解析了生成的JSON,并将生成的对象直接传递给视图。 我该如何处理XML?我看到四个选项: 解析它,然后将DOM对象直接传递到UI(view)。 在服务器端围绕我的XML服务放置一个JSON包装器