angularjs ng-view - jQuery 插件问题 - 需要建议

angularjs ng-view - jQuery plugins issue -Suggestion needed

本文关键字:插件 ng-view jQuery angularjs 问题      更新时间:2023-09-26

我正在开发Web应用程序,它使用了很多JQuery插件。当我加载分部视图时,静态资源没有初始化。我应该考虑忽略单页 Web 应用程序的想法并使用多个页面吗?由于很难初始化很多插件,而且我不是Java脚本的大师。

...
$(document).ready()

angular 应用程序中毫无用处,因为页面加载时大多数元素都不存在。

许多插件可以简化为使用角度方法,但如果必须使用插件,则需要在角度指令中初始化它们。指令link函数仅在元素实际存在时运行。

另请查看您使用的插件是否还没有角度模块包装器。例如angular-ui-bootstrap完全替换bootstrap.js

如果还没有角度包装器,则可以创建一个执行初始化的指令。 指令中的 link 选项与 $(document).ready() 类似 - 每次加载特定指令时,都会为该元素调用 link 函数。 下面是一个使用 jquery-ui 日期选择器的简单示例。 (有更好的方法可以在角度中做日期选择器,这只是为了一个简单的说明。

命令:

app.directive("datePicker", [function() {
  return {
    restrict: "A", 
    link: function(scope, element, attrs) {
      $(element).datepicker();
    }
  }
}]);

模板的 HTML (...是输入的所有其他配置)

<input date-picker ... />

这是一个扑通的演示。 (请注意,您必须在jQuery和jQueryUI之后加载角度才能正常工作。