Path

new Path()

路径类

Classes

Path

Members

(readonly) $editor

获取编辑器对象

(readonly) $editor

设置编辑器对象

(readonly) block

path所属的块级组件实例

(readonly) currentComponent

path所属组件的实例

(readonly) currentComponent

设置currentComponent

(readonly) dataType

数据类型

(readonly) elm

path对应的真实dom

(readonly) firstLeaf

第一个叶子节点

(readonly) isBlock

判断是否是块路径

(readonly) isLeaf

是否是叶子节点

(readonly) lastLeaf

最后一个叶子节点

(readonly) length

path内容长度

(readonly) nextLeaf

下一个叶子节点

(readonly) position

绝对路径

(readonly) prevLeaf

上一个叶子节点

(readonly) vn

path对应的虚拟dom

(static) children :Array.<Path>

子级path
Type:

(static) index :Number

同级相对索引
Type:
  • Number

(static) nextSibling :Path

后一个兄弟path
Type:

(static) node :Object

原始数据节点
Type:
  • Object

(static) parent :Path

父path
Type:

(static) prevSibling :Path

前一个兄弟path
Type:

(protected, static) rebuildFlag

重建标记 - 0:无操作 ;1:删除

Methods

clearFormat()

清除格式

clone() → {Path}

标记克隆
Returns:
Type: 
Path

delete()

path删除

deleteBetween(startPath, endPath)

删除两个节点之间的所有节点 不包含开始结束节点
Parameters:
NameTypeDescription
startPathPath开始节点
endPathPath结束节点

insertAfter(path)

插入到path后面
Parameters:
NameTypeDescription
pathPath

insertBefore(path)

插入到path前面
Parameters:
NameTypeDescription
pathPath

moveTo(path)

移动到path的children
Parameters:
NameTypeDescription
pathPath

originOf(path) → {Boolean}

是否源于 xxx
Parameters:
NameTypeDescription
pathPath
Returns:
Type: 
Boolean

pop() → {*}

从尾部弹出元素
Returns:
Type: 
*

positionCompare(path) → {Number}

- 位置比较
Parameters:
NameTypeDescription
pathPath
Returns:
Type: 
Number
Example
res = a.positionCompare(b),
res=-1: a<b;
res=0: a===b;
res=1: a>b

push(…paths)

尾部插入children
Parameters:
NameTypeAttributesDescription
paths*<repeatable>

queryCommonPath(path) → {*}

获取最近共同节点
Parameters:
NameTypeDescription
path*
Returns:
Type: 
*

rebuild()

重构链表树

setFormat(formats)

设置格式(只会merge格式,不会强制覆盖其他格式)
Parameters:
NameTypeDescription
formatsObject格式

setNode({ dataopt)

设置节点
Parameters:
NameTypeAttributesDefaultDescription
{ data*<optional>
'', formats = {} }={}

shift() → {*}

从头部弹出元素
Returns:
Type: 
*

splice(start, deleteCount, …additems) → {deleteItems}

通过移除或者替换已存在的元素和/或添加新元素就地改变一个数组的内容
Parameters:
NameTypeAttributesDescription
start*
deleteCount*
additems*<repeatable>
Returns:
Type: 
deleteItems

split(index) → {Array.<Path>}

path分割
Parameters:
NameTypeDescription
indexNumber分隔位置
Returns:
path列表
Type: 
Array.<Path>

textDelete(offset, count)

内容删除
Parameters:
NameTypeDescription
offsetNumber偏移量,开始删除的位置
countNumber删除的字符数量

textInsert(pos, data)

文本插入
Parameters:
NameTypeDescription
posString从偏移量,开始删除的位置
dataString插入字符

unshift(…paths)

从头部插入children
Parameters:
NameTypeAttributesDescription
paths*<repeatable>