2016-07-15 52 views
1

我想讓小小的MCE工作在角度和有不到恆星的成功與它。

目前我不能讓過去的這個錯誤:

Unable to get property 'body' of undefined or null reference

我甚至想只得到一個基本的撥弄着它運行但失敗了。 http://jsfiddle.net/m0z0n6dL/

據我瞭解所有你需要的是TinyMCE的棱角腳本,然後用<textarea ui-tinymce="tinymceOptions" ng-model="text" type="text"><textarea>

裝飾你的文本框,並把它列入模塊

var myApp = angular.module('myApp', ['ui.tinymce']); 

在但這是失敗的:

Unknown provider $sceProvider <- $sce <- uiTinymceDirective

如果任何人都可以使用的CDN的角度和TinyMCE的依賴給我看一個簡單的例子,我會很HAP PY。

+0

JensB,我的回答是否有效? – developer033

+0

@ developer033 TinyMCE angular插件似乎對結果有很大的麻煩,所以我用這個來代替https://github.com/fraywing/textAngular。對於簡單的文本樣式,它是很多。 – JensB

+0

@ developer033另外,TinyMCE-Angular似乎不喜歡在ng-repeats裏面,不得不處理ng-show和ng-if。 – JensB

回答

1

好吧,看來你必須實例化你的模塊爲ui.tinymce,否則它不起作用。

下面是一個例子

angular.module('ui.tinymce') 
 
    .controller('mainCtrl', function($scope, $sce) { 
 
    $scope.updateHtml = function() { 
 
     $scope.tinymceHtml = $sce.trustAsHtml(ctrl.tinymce); 
 
    }; 
 
    });
<!DOCTYPE html> 
 
<html ng-app="ui.tinymce"> 
 

 
<head> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/tinymce/4.3.2/tinymce.min.js"></script> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular.min.js"></script> 
 
    <script src="https://cdn.rawgit.com/angular-ui/ui-tinymce/master/src/tinymce.js"></script> 
 
</head> 
 
<body ng-controller="mainCtrl"> 
 
    <form method="post"> 
 
    <textarea ui-tinymce 
 
     ng-model="tinymce" 
 
     ng-change="updateHtml()"></textarea> 
 
    </form> 
 
    <div ng-bind-html="tinymceHtml"></div> 
 
</body> 
 

 
</html>

注:上面的例子不會編譯很好,因爲stacksnippets擋住了URL的tinymce

你可以看到完整的演示here沒有錯誤。

+0

真的很煩人,必須在TMCE之後命名該模塊,如果其他模塊的要求相同,該怎麼辦? – JensB

+0

是的,這真的很糟糕,但它是否適合我的例子? – developer033

+0

@JensB,你可以檢查它是否正確? – developer033