5

理解できない問題がありますが、ヒントはあります。TinyMCEを統合する前は、メインナビゲーションは正常に機能していました。たとえば、リンク設定、分析、セットアップ。それらをクリックすると、現在は機能していません。

これが私のjsファイルです:

var app_htmleditor_module = angular.module('app_htmleditor', ['components']).
    config(['$routeProvider', function($routeProvider) {
        $routeProvider.
            when('/', {templateUrl: getBaseURL()+'public/tpl/app/htmleditor.htm',   controller: HtmlEditorCtrl, reloadOnSearch:false }).
            otherwise( {redirectTo: '/'});
    }
]);
    
angular.module('components', []).directive('imageUpload', function () {
    return {
        restrict: 'E',
        scope: {
              uploaderid:'@uploaderid'
            },
        templateUrl: '/public/tpl/imageupload.htm'
    }
});
        
app_htmleditor_module.directive('uiTinymce', function() {
     return {
         
         require: 'ngModel',
         link: function(scope, element, attrs, ngModel) {
             
             element.tinymce({
                 // Location of TinyMCE script
                 script_url: 'http://resources.holycrap.ws/jscripts/tiny_mce/tiny_mce.js',

                 // General options
                 theme: "simple",

                 // Change from local directive scope -> "parent" scope
                 // Update Textarea and Trigger change event
                 // you can also use handle_event_callback which fires more often
                 onchange_callback: function(e) {

                     if (this.isDirty()) {
                         this.save();

                         // tinymce inserts the value back to the textarea element, so we get the val from element (work's only for textareas)
                         //ngModel.$setViewValue(e.getBody().innerHTML);
                         ngModel.$setViewValue(element.val());
                         scope.$apply();
                         
                         return true;
                     }
                 }
             });

         }
     }
});

そして、次のように使用して、上記のtinymceディレクティブをtextareaに追加しましui:tinymceた。

<textarea ui:tinymce ng-model="data.html_tab" id="{{fileUploaderID}}_html_tab" name="{{fileUploaderID}}_html_tab" style="width:600px; height:300px"></textarea>

上記に注意してくださいui:tinymce。それを削除すると、ナビゲーションは再び正常に機能します。ui:tinymceでは、textareaに追加してナビゲーションを機能させるにはどうすればよいですか?

デモURL:

http://dev-socialapps.rkm-group.com/app/htmleditor/index#/

どんな助けでも大歓迎です。ありがとう

アップデート:

提案されているように、最初にuijsファイルをテンプレートファイルに追加しました。

<script src="https://raw.github.com/angular-ui/angular-ui/master/build/angular-ui.js"></script>

次に、jsファイルに次のように追加しました。

var app_htmleditor_module = angular.module('app_htmleditor', ['components', 'ui']).
    config(['$routeProvider', function($routeProvider) {
        $routeProvider.
            when('/', {
                templateUrl: getBaseURL()+'public/tpl/app/htmleditor.htm',
                controller: HtmlEditorCtrl,
                reloadOnSearch:false
            }).
            otherwise( {redirectTo: '/'});
    }
]);

app_htmleditor_module.value('ui.config', {
   tinymce: {
      theme: 'simple'
   }
});

そしてtextareaタグで:

<textarea ui-tinymce ng-model="tinymce" id="{{fileUploaderID}}_html_tab" name="{{fileUploaderID}}_html_tab" style="width:600px; height:300px"></textarea>

しかし、エラーが発生しています。

ReferenceError: tinymce is not defined

ui jsファイルは問題なく追加されていますが、ソースコードを表示してリンクをクリックして確認しました

4

1 に答える 1

1

angle-uiライブラリのtinymceディレクティブの最新バージョンを試しましたか?

デモ

JSファイル

于 2012-07-09T09:29:12.310 に答える