我通过ui-tinymce Angular指令使用了tinymce编辑器。
<textarea ui-tinymce="tinymceOptions" ng-model="email.body"></textarea>
我无法初始化编辑器,并将content_css
选项设置为从XHR请求获取的值,因为在XHR请求的回调之前调用该指令的link
函数。因此,选项不会传递给指令。
Template.get({ id: $routeParams.id }, function(response) {
$scope.template = response.attributes;
$scope.tinymceOptions = {
inline: false,
plugins : 'code importcss preview code',
skin: 'lightgray',
theme : 'modern',
content_css: $scope.template.content_css
};
});
如果我在初始化选项后广播$tinymce:refresh
事件,编辑器会使用新选项重新初始化,但旧编辑器不会被删除。
我对角度指令几乎没有经验,是否可以观察选项中的变化并在编辑器中反映出来?
答案 0 :(得分:0)
您可以等待异步加载的选项,只有在获得后才显示编辑器。概念证明:
查看:
<div ng-controller="MyCtrl">
<div ng-if="!tinymceOptions">Please wait, we're initliazing editor for you!</div>
<div ng-if="tinymceOptions">
<textarea ui-tinymce="tinymceOptions" ng-model="email.body"></textarea>
</div>
</div>
和控制器:
module.controller('MyCtrl', function($scope) {
Template.get({ id: $routeParams.id }, function(response) {
// your code here
});
});