【问题标题】:Internal javascript inside angularjs partial view is not working?angularjs局部视图中的内部javascript不起作用?
【发布时间】:2015-01-06 12:00:12
【问题描述】:

这里主要是避免在 index.html 中加载所有 JavaScript

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

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

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

【问题讨论】:

  • 看来你的jQuery函数不完整
  • jQuery 函数现已修改

标签: javascript jquery angularjs datepicker


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    感谢 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 日期选择器在局部视图中初始化。工作得很好!

    【讨论】:

      猜你喜欢
      • 2015-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多