发表于: 2017-03-08 10:11:19

1 1175


完成的事情:

任务10未完成。。。

加载成功富文本编辑器

完成表单验证

添加了“编辑”按键的跳转功能和数据修改


计划的事情:

还是完成任务10


问题:

富文本编辑器多种多样,选择百度ue系列,原来打算um系列+引用现成的angular绑定库,配置没有成功。

使用原生ue时候,跟angular传参是个问题,预设一个隐藏的<input>,绑定ng-model="vm.lisText",使用

ue.addListener('selectionchange',function(){})方法实时读取编辑器的文本内容,并通过js或jq方法穿给

<input>的value,然后??说好的双向绑定呢?vm.lisText的值没有变化啊~

更换angular的.directive方法,在文本编辑器加载时候调用,把文本编辑器的创建和.addListener方法一起封装

到.directive里面,然后

scope.vm.lisText = text;

咦?没反应?再加个scope.$apply()方法告诉angular我已经改过什么东西(据说不是angular上下文环境中的变更就需要这个)。

好吧,双向绑定我猜测是监听oninput和onpropertychange事件,什么时候有能力了去看看源码。

好了,把“确定”按键放到<form>里面,添加ng-disabled="myForm.$invalid"属性就完成了。


接下来处理列表的“编辑”和“删除”,点击按钮,获取索引值,然后传递数据,流程就是这么个样子。

索引值首先就想到jq的.index()方法,就不去再搜angular怎么办了,直接一行搞定,难道还有更简单的方法?

格式不太记得,最后试了出来:

numIndex = $('.list-view-mes').index(abc.parentNode.parentNode)-1;

“编辑”时,

$location.url('/admin/page2');

(发现需要点击第二个不一样的按钮才跳转成功,直至加上$scope.$apply())

打开page2,并索引值对应的传递数据。。。

在使用百度文本编辑器的.setContent写入文本时候,需要在文本编辑器加载完成后,要不等个长时间,要不,

ue.addListener("ready", function () {

    ue.setContent("abc");

});

这样子处理(一天结束)


收获:

富文本编辑器的简单应用

.directive方法的实际应用



返回列表 返回列表
评论

    分享到