AABB
AlignmentBehavior
ArriveBehavior
AStar
BFS
BoundingSphere
BVH
BVHNode
Cell
CellSpacePartitioning
CohesionBehavior
CompositeGoal
ConvexHull
Corridor
CostTable
DFS
Dijkstra
Edge
EntityManager
EvadeBehavior
EventDispatcher
Behavior
FollowPathBehavior
FuzzyAND
FuzzyCompositeTerm
FuzzyFAIRLY
FuzzyModule
FuzzyOR
FuzzyRule
FuzzySet
FuzzyTerm
FuzzyVariable
FuzzyVERY
GameEntity
Goal
GoalEvaluator
Graph
GraphUtils
HalfEdge
HeuristicPolicyDijkstra
HeuristicPolicyEuclid
HeuristicPolicyEuclidSquared
HeuristicPolicyManhattan
InterposeBehavior
LeftSCurveFuzzySet
LeftShoulderFuzzySet
LineSegment
Logger
MathUtils
Matrix3
Matrix4
MemoryRecord
MemorySystem
MeshGeometry
MessageDispatcher
MovingEntity
NavEdge
NavMesh
NavMeshLoader
NavNode
Node
NormalDistFuzzySet
OBB
ObstacleAvoidanceBehavior
OffsetPursuitBehavior
OnPathBehavior
Path
Plane
Polygon
Polyhedron
PriorityQueue
PursuitBehavior
Quaternion
Ray
RectangleTriggerRegion
Regular
RightSCurveFuzzySet
RightShoulderFuzzySet
SAT
SeekBehavior
SeparationBehavior
SingletonFuzzySet
Smoother
SphericalTriggerRegion
State
StateMachine
SteeringBehavior
SteeringManager
Task
TaskQueue
Telegram
Think
Time
TriangularFuzzySet
Trigger
TriggerRegion
Vector3
Vehicle
Version
WanderBehavior

registerType

registerType 是 Think.js 中定义组件类型的方法。

语法

think.registerType(typeName, handler);

参数

  • typeName (String):组件类型的名称。
  • handler (Function):组件类型的处理函数。

描述

registerType 方法用于在 Think.js 中定义自己的组件类型,以便于在应用程序中使用。该方法在 Think.js 中被调用,其必须在应用程序代码中被调用。

registerType 方法的第一个参数 typeName 是一个字符串,代表组件类型的名称。该名称必须是唯一的,并且必须是一个有效的 JavaScript 标示符号。

registerType 方法的第二个参数 handler 是一个处理函数。当应用程序需要该组件的时候,就会调用该处理函数,并传入组件的配置对象,以及一个回调函数 (callback)。

在处理函数中,你可以对组件的配置进行解析和分析,然后将其转换成目标格式的 HTML/CSS/JS。最后,通过回调函数将结果返回给应用程序。

例子

下面是一个实用 registerType 方法定义一个自定义组件类型的例子:

think.registerType('custom', function(config, callback) {
    var template = '<div>%content%</div>';
    var content = template.replace('%content%', config.content);

    callback && callback(null, content);
});

在以上代码中,我们定义了一个名为 custom 的组件类型,通过在组件的配置对象中提供 content 属性来控制组件中显示的内容。在处理函数中,我们使用一个简单的模板将配置中的内容插入到 HTML 标签中,并通过回调函数返回该 HTML 代码字符串。

我们可以通过以下方式在应用程序中使用该组件类型:

think.component('<myCustomComponent>', {
    type: 'custom',
    content: 'Hello, World!',
});