本文整理汇总了TypeScript中nerv-utils.isFunction函数的典型用法代码示例。如果您正苦于以下问题:TypeScript isFunction函数的具体用法?TypeScript isFunction怎么用?TypeScript isFunction使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了isFunction函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: mountComponent
export function mountComponent (vnode: FullComponent, parentContext: object, parentComponent) {
const ref = vnode.props.ref
vnode.component = new vnode.type(vnode.props, parentContext)
const component = vnode.component
if (isComponent(parentComponent)) {
component._parentComponent = parentComponent
}
if (isFunction(component.componentWillMount)) {
errorCatcher(() => {
(component as any).componentWillMount()
}, component)
component.state = component.getState()
}
component._dirty = false
const rendered = renderComponent(component)
component._rendered = rendered
if (isFunction(component.componentDidMount)) {
readyComponents.push(component)
}
if (!isNullOrUndef(ref)) {
readyComponents.push(() => Ref.attach(vnode, ref, component.dom))
}
const dom = (vnode.dom = component.dom = mountVNode(
rendered,
getChildContext(component, parentContext),
component
) as Element)
component._disable = false
return dom
}
开发者ID:lineCode,项目名称:nerv,代码行数:30,代码来源:lifecycle.ts
示例2: updateComponent
export function updateComponent (component, isForce = false) {
const lastDom = component.dom
const props = component.props
const state = component.getState()
const context = component.context
const prevProps = component.prevProps || props
const prevState = component.prevState || state
const prevContext = component.prevContext || context
component.props = prevProps
component.context = prevContext
let skip = false
if (
!isForce &&
isFunction(component.shouldComponentUpdate) &&
component.shouldComponentUpdate(props, state, context) === false
) {
skip = true
} else if (isFunction(component.componentWillUpdate)) {
errorCatcher(() => {
component.componentWillUpdate(props, state, context)
}, component)
}
component.props = props
component.state = state
component.context = context
component._dirty = false
if (!skip) {
const lastRendered = component._rendered
const rendered = renderComponent(component)
const childContext = getChildContext(component, context)
component.dom = patch(lastRendered, rendered, lastDom, childContext)
component._rendered = rendered
if (isFunction(component.componentDidUpdate)) {
errorCatcher(() => {
component.componentDidUpdate(prevProps, prevState, context)
}, component)
}
}
component.prevProps = component.props
component.prevState = component.state
component.prevContext = component.context
if (component._pendingCallbacks) {
while (component._pendingCallbacks.length) {
component._pendingCallbacks.pop().call(component)
}
}
flushMount()
}
开发者ID:lineCode,项目名称:nerv,代码行数:48,代码来源:lifecycle.ts
示例3: if
function createElement<T> (
type: string | Function | Component<any, any>,
properties?: T & Props | null,
..._children: Array<VirtualChildren | null>
) {
let children: any = _children
if (_children) {
if (_children.length === 1) {
children = _children[0]
} else if (_children.length === 0) {
children = undefined
}
}
let props
if (isString(type)) {
props = transformPropsForRealTag(type, properties as Props)
props.owner = CurrentOwner.current
return h(type, props, children as any) as VNode
} else if (isFunction(type)) {
props = transformPropsForComponent(
properties as any,
(type as any).defaultProps
)
if (!props.children) {
props.children = children || EMPTY_CHILDREN
}
props.owner = CurrentOwner.current
return type.prototype && type.prototype.render
? new FullComponent(type, props)
: new StatelessComponent(type, props)
}
return type
}
开发者ID:lineCode,项目名称:nerv,代码行数:33,代码来源:create-element.ts
示例4: item
queue.forEach((item) => {
if (isFunction(item)) {
item()
} else if (item.componentDidMount) {
errorCatcher(() => {
item.componentDidMount()
}, item)
}
})
开发者ID:lineCode,项目名称:nerv,代码行数:9,代码来源:lifecycle.ts
示例5: attachEvent
export function attachEvent (
domNode: Element,
eventName: string,
handler: Function
) {
eventName = fixEvent(domNode, eventName)
/* istanbul ignore next */
if (eventName === ONPROPERTYCHANGE) {
processOnPropertyChangeEvent(domNode, handler)
return
}
let delegatedRoots = delegatedEvents.get(eventName)
if (unbubbleEvents[eventName] === 1) {
if (!delegatedRoots) {
delegatedRoots = new MapClass()
}
const event = attachEventToNode(domNode, eventName, delegatedRoots)
delegatedEvents.set(eventName, delegatedRoots)
if (isFunction(handler)) {
delegatedRoots.set(domNode, {
eventHandler: handler,
event
})
}
} else {
if (!delegatedRoots) {
delegatedRoots = {
items: new MapClass()
}
delegatedRoots.event = attachEventToDocument(
doc,
eventName,
delegatedRoots
)
delegatedEvents.set(eventName, delegatedRoots)
}
if (isFunction(handler)) {
delegatedRoots.items.set(domNode, handler)
}
}
}
开发者ID:lineCode,项目名称:nerv,代码行数:41,代码来源:event.ts
示例6: patchEvent
function patchEvent (
eventName: string,
lastEvent: Function,
nextEvent: Function,
domNode: Element
) {
if (lastEvent !== nextEvent) {
if (isFunction(lastEvent)) {
detachEvent(domNode, eventName, lastEvent)
}
attachEvent(domNode, eventName, nextEvent)
}
}
开发者ID:lineCode,项目名称:nerv,代码行数:13,代码来源:patch.ts
示例7: unmountComponent
export function unmountComponent (vnode: FullComponent) {
const component = vnode.component
if (isFunction(component.componentWillUnmount)) {
errorCatcher(() => {
(component as any).componentWillUnmount()
}, component)
}
component._disable = true
unmount(component._rendered)
if (!isNullOrUndef(vnode.props.ref)) {
Ref.detach(vnode, vnode.props.ref, vnode.dom as any)
}
}
开发者ID:lineCode,项目名称:nerv,代码行数:13,代码来源:lifecycle.ts
示例8: propertyChangeHandler
/* istanbul ignore next */
function propertyChangeHandler (event) {
if (event.propertyName !== 'value') {
return
}
const target = event.target || event.srcElement
const val = target.value
if (val === propertyChangeActiveElementValue) {
return
}
propertyChangeActiveElementValue = val
if (isFunction(propertyChangeActiveHandler)) {
propertyChangeActiveHandler.call(target, event)
}
}
开发者ID:lineCode,项目名称:nerv,代码行数:15,代码来源:event.ts
示例9: reRenderComponent
export function reRenderComponent (prev: CompositeComponent, current: CompositeComponent) {
const component = (current.component = prev.component)
const nextProps = current.props
const nextContext = component.context
component._disable = true
if (isFunction(component.componentWillReceiveProps)) {
errorCatcher(() => {
(component as any).componentWillReceiveProps(nextProps, nextContext)
}, component)
}
component._disable = false
component.prevProps = component.props
component.prevState = component.state
component.prevContext = component.context
component.props = nextProps
component.context = nextContext
if (!isNullOrUndef(nextProps.ref)) {
Ref.update(prev, current)
}
updateComponent(component)
return component.dom
}
开发者ID:lineCode,项目名称:nerv,代码行数:22,代码来源:lifecycle.ts
示例10: errorHandler
function errorHandler (component: Component<any, any>, error) {
let boundary
while (true) {
if (isFunction(component.componentDidCatch)) {
boundary = component
break
} else if (component._parentComponent) {
component = component._parentComponent
} else {
break
}
}
if (boundary) {
const _disable = boundary._disable
boundary._disable = false
boundary.componentDidCatch(error)
boundary._disable = _disable
} else {
throw error
}
}
开发者ID:lineCode,项目名称:nerv,代码行数:23,代码来源:lifecycle.ts
注:本文中的nerv-utils.isFunction函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论