Internal javascript inside angularjs 部分视图不起作用?

Internal javascript inside angularjs partial view is not working?

这里主要是为了避免在index.html

中加载所有JavaScript

例如)我有日期选择器的局部视图。初始化将在部分视图侧。

<script>
$(function() {
   $('.date-pick').datePicker();
});
</script>

当局部视图通过路由器加载时,上述脚本将不会被执行。如何在 angularjs 部分视图中执行这些内部 javascript?

Angular解析了DOM,所以如果你在里面放一个script标签,这显然不行。您应该为您的日期选择器创建一个指令,并在您的部分视图中使用该指令,例如 <div date-picker>。或者你可以在你的控制器中添加这段 JavaScript ,但我不推荐它。一旦习惯了,创建指令就非常容易。您的日期选择器很可能已经作为指令可用。对其进行 Google 搜索。

谢谢 Erik Duindam。

已创建 angularjs 指令,如下所示

// Directive for jQuery datepicker intialization
app.directive('jqueryDatepicker', function () {
   return {
    restrict: 'A',
    link: function (scope, element, attr) {
       $('.date-pick').datePicker();
    }
  }
});

并且在部分视图中 html 我使用了创建指令的文件

<input name="date1" jquery-datepicker id="date1" class="date-pick"/>

现在 jQuery 日期选择器已在部分视图中初始化。干得漂亮!