使用jquery动态地将angularjs指令添加到DOM元素

时间:2015-03-06 11:24:50

标签: jquery angularjs angularjs-directive

我有一个页面,其中将从服务器动态生成html元素。 我想基于使用jquery的一些编码将 ng-model 指令添加到文本框中。 例如:

$(document).ready(function(){
if(current page is 'something') //dont bother about the condition!
  $('input[title="test"]').attr('ng-model','name');
});

这样我就可以使用 ng-bind 来绑定页面中此文本框的值。 我如何实现这一目标。?

1 个答案:

答案 0 :(得分:4)

这是一个坏主意。你的代码在document.ready中运行,角度对此一无所知,然后你将元素添加到DOM中,并且不会告诉它们有角度,因此,它不起作用。

你需要以不同的方式思考问题 - angular有一个专门用于在不同页面上显示不同视图(或元素)的路由器,因此你不应该使用以下内容:

if(current page is 'something')

此外,如果你只是在角度上读了一小部分,你会不断被提醒指令操纵DOM ,并且你应该避免在其他地方几乎所有其他情况下都这样做。

我强烈建议你在进一步学习之前,先阅读更多有关角度的内容,以便深入了解它的工作原理,特别是与jQuery有关(如果你有角度的话,你真的,真的不需要jQuery)。 / p>

很糟糕,但在你继续学习之前你将不得不学习更多,因为否则你最终会感到沮丧,并创建一个只是'错误'的应用......