Jquery 设置WYMeditor';用AngularJS表示内容
我的页面上有一个WYMeditor实例,我想使用AngularJS控制其中文本的值 我尝试过的几种方法都不奏效: 让我们假设:Jquery 设置WYMeditor';用AngularJS表示内容,jquery,angularjs,wymeditor,Jquery,Angularjs,Wymeditor,我的页面上有一个WYMeditor实例,我想使用AngularJS控制其中文本的值 我尝试过的几种方法都不奏效: 让我们假设: $scope.Details = 'foo'; 它会根据不同的用户操作而变化 使用ng模型: <textarea ng-model="Details" class="wymeditor"></textarea> 这将返回一条错误消息,该消息引用WYMeditor的html()函数声明 Error: this._doc is undefined
$scope.Details = 'foo';
它会根据不同的用户操作而变化
<textarea ng-model="Details" class="wymeditor"></textarea>
这将返回一条错误消息,该消息引用WYMeditor的html()函数声明
Error: this._doc is undefined
谢谢 WYMeditor需要一些时间来初始化。最好在
postInit
hook中设置与它的交互
angular.module('myApp')
.directive('wymeditor', ($log, $parse) ->
scope:
ngModel: '='
restrict: 'C'
link: (scope, element, attrs) ->
$log.debug 'Initializing WYMeditor', attrs.wymOptions
options = $parse(attrs.wymOptions)()
options.postInit = (wym) ->
# we need to wait till editor is ready to interact with it
scope.$watch 'ngModel', (newVal, oldVal) ->
$log.debug 'ngModel Changed, refreshing editor....'
wym._html(scope.ngModel)
element.wymeditor( options )
)
然后,您可以使用以下内容设置WYMeditor:
<textarea
class="wymeditor"
wym-options="{
skin: 'seamless',
iframeHtml: WYMeditor.SKINS.seamless.OPTS.iframeHtml,
logoHtml: ''
}"
ng-model="someVar"
></textarea>
请注意,上述内容不会填充模型。WYMeditor不提供检测更改的方法。最可靠的方法是每隔几秒钟轮询一次更改。改为签出。wym.html($scope.Details)
绝对是更新编辑器内容所需的方法。this.\u doc
错误使我认为您的编辑器没有正确初始化(在调用之前查找错误),或者您没有得到您认为正确的编辑器实例。关于最初如何创建WYMeditor实例的更多详细信息可能会有所帮助。
<textarea
class="wymeditor"
wym-options="{
skin: 'seamless',
iframeHtml: WYMeditor.SKINS.seamless.OPTS.iframeHtml,
logoHtml: ''
}"
ng-model="someVar"
></textarea>