发表于: 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方法的实际应用
评论