我有一个工具提示,当它的值无效时应该显示在keyup上。我不知道为什么
<input name="myInput" tooltip-trigger="{{{true: 'keyup', false: 'blur'}[true]}}" ...
始终向我显示工具提示,
<input name="myInput" tooltip-trigger="{{{true: 'keyup', false: 'blur'}[false]}}" ...
永远不会告诉我, 为什么
<input name="myInput" tooltip-trigger="{{{true: 'keyup', false: 'blur'}[myForm.myInput.$invalid]}}" ...
即使$invalid
正在发生变化,也始终会向我显示工具提示。
第三个例子可能是什么原因?如何使它表现得如我们所期望的那样?
答案 0 :(得分:1)
这是因为只有在输入字段更改时需要更新{{{true: 'keyup', false: 'blur'}[myForm.myInput.$invalid]}}
值时才绑定它。你可以使用ng-change
功能。然后在更改时更新工具提示触发器值。
<强>标记强>
<input name="myInput" ng-change="updateTooltip()"
tooltip-trigger="{{tooltipTriggerType}}" .../>
<强>代码强>
$scope.updateTooltip = function(){
$scope.tooltipTriggerType = {true: 'keyup', false: 'blur'}[$scope.myForm.myInput.$invalid]
return $scope.tooltipTriggerType;
};