用户更改ng-view位置后,我试图使用此jquery highlight plugin突出显示一些文本;要突出显示的文本在返回的页面上。
成功更改视图后,我运行highlight()
方法:
$scope.$on('$locationChangeSuccess', function(event) {
console.log('success');
$("p").highlight(["text"]);
});
我的成功日志已打印,但是文本从未突出显示。
我的文件已正确加载,因为我可以在浏览器控制台上运行该操作,并且我定义的文本会突出显示,因此我不确定这里出了什么问题。有任何想法吗?
非常感谢!
最佳答案
在编写Angular代码时,通常不建议像jQuery那样直接操作DOM。相反,您应该使用Angular的逻辑属性来创建不断变化的DOM的外观。虽然我不明白为什么您的特定示例不起作用,但替代的,更“ Angular”的解决方案可能是这样的:
<p ng-style="{'background-color': highlight}"></p>
然后在JS文件中,设置Highlight的值
if bla
$scope.highlight = '#FFFF88';
else
$scope.highlight = '#FFFFFF';