执行ngModelController后,视图无法更新。$ render function

时间:2016-09-07 18:38:39

标签: angularjs

参考此代码:

http://plnkr.co/edit/4QpPZZib6qGjhx85Do0M

以下是如何复制错误:

1. Run the plnkr
2. then click on any of the buttons "200", "300" etc. You will notice that the model updates just fine. No issue so far
3. Now paste something in the input box. The paste should work just fine.

4. Now try clicking on any of the buttons. 

ERROR:
You will notice that the values in the input box does not updates to model value.

据我所知,问题在于我的$ render函数..但是我似乎无法找到它的修复。

scope.handlePaste = function(e) {
          var pastedText = e.clipboardData.getData('text/plain');
          ngModelController.$setViewValue(pastedText);
          ngModelController.$render = function() {
              element.html($sce.getTrustedHtml(ngModelController.$viewValue));
            };

          return false; //prevent the default handler from running
        };
  }

1 个答案:

答案 0 :(得分:0)

您正在使用ngSanitize但是您忘记将其包含在plunker中。 (lib +注入app和$ sce in指令)。

然后element是一个角元素,没有html()函数。 您可以使用element[0]获取具有属性value的原始html元素。

http://plnkr.co/edit/HSOnscaprbyvUwjr0P2l?p=preview