我一直在尝试创建一个输入指令,允许不同的输入类型(例如间隔(最小-最大),日期时间,数字,文本...)。无论用户何时更改数据类型,都非常重要对应的输入更改其模板。我还需要能够在页面上有多个输入(请参见PLUNKR以更好地理解)。
经过很多试验和研究,我得出结论,我需要观察属性(great-input),根据所选输入类型的值替换我的输入模板,并编译它。但是我无法在编译函数中执行此操作,而我的监视器在链接函数中无法正常工作(我正在获取t1,t2)。
因此,我需要做的是,在选择类型的值更改时,更改输入的模板(为简单起见,我只是对不同的输入类型进行了颜色编码)。
这基本上是应该完成工作的函数(根据实现位置可能会有一些更改),但我找不到正确的位置。
完整代码请参见: http://plnkr.co/edit/BCuiqg?p=preview
经过很多试验和研究,我得出结论,我需要观察属性(great-input),根据所选输入类型的值替换我的输入模板,并编译它。但是我无法在编译函数中执行此操作,而我的监视器在链接函数中无法正常工作(我正在获取t1,t2)。
因此,我需要做的是,在选择类型的值更改时,更改输入的模板(为简单起见,我只是对不同的输入类型进行了颜色编码)。
$scope.$watch('greatInput', function (newVal) {
console.log(newVal);
html = getTemplate(newVal);
$elem.html('').append($compile(html)($scope));
});
这基本上是应该完成工作的函数(根据实现位置可能会有一些更改),但我找不到正确的位置。
完整代码请参见: http://plnkr.co/edit/BCuiqg?p=preview