理解できない問題がありますが、ヒントはあります。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ファイルは問題なく追加されていますが、ソースコードを表示してリンクをクリックして確認しました