register a directive with a name,
the directive could be a structural directive or an attribute directive.
if the directive name exists, will not replace the old directive options.
Optional
options: DirectiveNodeOptionscontain the attributes of the registered directive name
replace the current options with a new one.
the directive could be a structural directive or an attribute directive.
if the directive name not exists, no set options will be done
to be replaced
set value of directive
Optional
options: DirectiveNodeOptions
get the DirectiveOptions for a directive name