我为工具提示修改了AngularUI-Bootstrap direvtive以帮助我显示错误消息,这是我到目前为止所做的:http://jsfiddle.net/distractedBySquirrels/TaAHZ/
但是我对动态消息有疑问。第一次将鼠标悬停在第一个输入字段上时,消息位于错误的位置,这是因为模型尚未正确更新。当然,在第二次鼠标悬停后,工具提示位于正确的位置。但是,如果要显示的消息再次发生变化,则会发生相同的故障。
我正在使用$parse
来更新模板:
$parse('tt_content').assign( scope,
getErrorMessage( ctrl.$error ) || attrs.tooltip
);
似乎并非所有听众都已复活并更新,“ttHeight”和“ttWidth”仍设置为“旧”值。消息/模型的正确更新仅适用于$ observe,这由第三个示例说明。
我被困住了,不知道我做错了什么? :(
答案 0 :(得分:0)
问题在于,当您使用$ apply修改模型时,您需要 手动 激活摘要周期,以便通知所有观察者此类模型。因此,基本上,每当您更改范围(例如scope.$digest();
scope.$apply( show );
中使用我的建议修改了您的代码