Angular:tooltip-trigger的工作原理是什么?

时间:2015-04-27 09:45:56

标签: javascript jquery angularjs

我有一个工具提示,当它的值无效时应该显示在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正在发生变化,

也始终会向我显示工具提示。

第三个例子可能是什么原因?如何使它表现得如我们所期望的那样?

1 个答案:

答案 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;
};