【发布时间】:2013-11-19 11:14:43
【问题描述】:
我正在使用 angular-ui-tinymce(最新版本 0.0.4,https://github.com/angular-ui/ui-tinymce/blob/master/src/tinymce.js)。
我遇到了无法解决的问题。
在第一个页面加载时,内容通过 ng-model 加载到编辑器。 然后我导航到另一个状态,然后使用编辑器导航回状态。 该值仍然存在于范围内(我已经检查过了),但由于某种原因我无法理解内容没有出现在编辑器中..
这是以指令为属性的文本区域:
<textarea rows="10" class="form-control" id="desc" ui-tinymce ng-model="valueFromScope"></textarea>
此更改发生在将 AngularJS 从 1.5 更新到 1.2.1 之后。 我认为这与 ngSanitize 有关,但我不确定..
btw angular-sanitize 和 ngSanitize 包含在应用程序中。
有什么建议吗?
更新
好像 ngModel.$render 什么也没做。
ngModel.$render = function() {
console.log(ngModel);
tinyInstance = tinymce.get(attrs.id);
if (tinyInstance) {
tinyInstance.setContent(ngModel.$viewValue || '');
updateView();
}
};
没有任何东西被打印出来,甚至没有被定义,这意味着 ngModel.$render 甚至没有运行。 有什么原因吗?
更新
我不认为 model.$render 是相关的,据我了解 $render 仅在编程更改时执行,例如实际编辑文本并且有效..
还是想不通,有时显示值有时不显示。
【问题讨论】:
-
一些代码?还有——如果你恢复到 1.5,问题就解决了吗?
-
恢复到 1.5 会导致代码的其他部分出现太多错误:{
-
我已经在帖子中添加了html代码。指令代码是默认的 angular-ui-tinymce 代码。
-
似乎与 sanitize 无关,因为代码似乎没有调用 sanizite(tinymce 代码)。
-
@alonisser 似乎该指令试图在服务器响应该值之前设置编辑器值。虽然它很奇怪,1. 因为它以前工作过,2. 返回值时编辑器中没有任何变化..
标签: javascript angularjs tinymce angular-ui