0

我修改了工具提示的 AngularUI-Bootstrap 指令以帮助我显示错误消息,这是我到目前为止所做的:http: //jsfiddle.net/distractedBySquirrels/TaAHZ/

但我对动态消息有疑问。当您第一次将鼠标悬停在第一个输入字段上时,消息在错误的位置,这是因为模型尚未正确更新。当然,在第二次鼠标悬停之后,工具提示就在正确的位置。但是,如果要显示的消息再次更改,则会发生相同的故障。

我正在使用$parse更新模板:

$parse('tt_content').assign( scope, 
    getErrorMessage( ctrl.$error ) || attrs.tooltip
);

似乎并非所有听众都已接收和更新,并且“ttHeight”和“ttWidth”仍设置为“旧”值。消息/模型的正确更新仅适用于 $observe,如第三个示例所示。

我被卡住了,不知道我做错了什么?:(

4

1 回答 1

0

问题是当您使用 $apply 修改模型时,您需要手动激活摘要循环以通知所有观察者此类模型。因此,基本上,您需要scope.$digest();在更改范围时添加,例如scope.$apply( show );

我在这里用我的建议修改了你的代码http://jsfiddle.net/TaAHZ/2/

于 2013-03-21T04:38:29.830 回答