我试图将一个文本区域绑定到一个angularjs变量,并在jsery中使用jquery反映我对文本区域所做的更改

我想将一个文本框绑定到一个angularjs变量,并让它在一个单独的div中输出渲染的html。 我还想用jquery管理那个div中的数据。 当我使用jquery更新时,绑定的angularjs不会更新。

我有:

$('#sections, #phases').change( ... $('textarea#displayData').val(html); 

这很有效。 当部分或阶段发生变化时,displayData会更新。

 
{{ddata}}

这也有效。 当我在文本区域中修改displayData时,绑定的ddata变量显示我的更改。

没有发生的是当部分或阶段发生变化,并且displayData得到更新时,ddata不会反映出这种变化。

如果您希望角度世界了解在角度世界之外所做的更改,则必须使用范围进行更改。$ apply()

 //jQuery world $(function() { var scope = angular.element("textarea#displayData").scope(); scope.$apply(function(){ // angular world scope.ddata = html; }); }); 

请参阅此处的工作示例: http : //plnkr.co/edit/YnXZQm78M9nMqd9uOURz?p = preview