需求:
- 想实现一个类似*ngIf 的指令 - 接受参数的模板指令
- 下面代码效果
- *ngError 接受一个正则表达式内部的string (不要 / / 的)
- 指令内判断当前所在div(可编辑的)的内容符合正则 则触发向DOM里添加元素。
- 之前触发后,当不符合时,去除元素Message
import {Directive, ViewContainerRef, TemplateRef } from 'angular2/core'; |
用法
<div *ngError ="'a'" id="input" contenteditable> </div> |
设想
我觉得以后会有大量的指令遵循这种模式
- 指令接受参数
- 指令判断参数
- DOM操作 或者 新组建初始化?(参见文章Angular2 - DynamicComponentLoader 用法)
此sample里由于我import angular里的DOM不成功,所以都是直接document来操作DOM。
如果Angular自己的DOM 模块是操作的 VM,应该用DOM模块
https://github.com/dreambo8563/node_angular2/blob/ng-pages/app/directives/error.ts