用户更改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';

10-05 20:50
查看更多