TinyMCE不使用ng-repeat进行初始化

时间:2014-04-16 08:26:50

标签: javascript angularjs tinymce

当我想附加一个与tinyMCE wysiwyg链接的textarea时,我遇到了问题。 tinyMCE没有时间初始化,所以解决方案是等待ng-repeat的结束。但我现在不知道如何和tinyMCE没有使用角度......

需要你的帮助。

玩得开心。

1 个答案:

答案 0 :(得分:1)

看看这个

enter image description here

<强> Working Demo

<强> HTML

<div ng-app="myApp" ng-controller="PostController">
    <br/>
    <textarea ng-model="mypost" ui-tinymce="tinymceOptions"></textarea>
    <br/>
    <input type="button" value="Submit" ng-click="submit()"/>
    <br/>
    <ul>
        <li ng-repeat="post in posts | orderBy:orderProp:true">
            <input type="button" value="Edit" ng-click="edit=!edit;newpost=post.content"/>
            <input ng-hide="edit" type="button" value="Delete" ng-click="deletepost(post)"/>
            <br />
            <div ng-hide="edit" style="white-space: pre-wrap"><ANY ng-bind-html-unsafe="post.content"></ANY></div>
            <div ng-show="edit">
                <textarea ng-model="newpost" ui-tinymce="tinymceOptions"></textarea>
                <input type="button" value="Submit" ng-click="editpost(post, newpost);edit=!edit" />
            </div>
            <br /><br /><br/>
        </li>
    </ul>
</div>

<强>脚本

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

function PostController($scope) {
    $scope.posts = [];
    $scope.time = 1;
    $scope.orderProp = 'pseudo_time';

    $scope.tinymceOptions = { menubar: false };

    $scope.submit = function() {
        newpost = {"content": $scope.mypost, "pseudo_time": $scope.time++};
        $scope.posts.push(newpost);
    };
    $scope.editpost = function(post, newpost) {
        var index = jQuery.inArray(post, $scope.posts);
        $scope.posts[index].content = newpost;
    };
    $scope.deletepost = function(post) {
        if (confirm("Delete Answer?") == true) {
            var index = jQuery.inArray(post, $scope.posts);
            $scope.posts.splice(index, 1);
        }
    };
}