在Angular 4中重新加载js

时间:2017-12-10 11:46:18

标签: angular

我有一个包含在我的Angular 4项目中的外部js文件,例如,如果我有(日期选择器)及其功能:

var date_select_field = $('input[name="datetimepicker"]');
        if (date_select_field.length) {
            var start = moment().subtract(29, 'days');

            date_select_field.daterangepicker({
                startDate: start,
                autoUpdateInput: false,
                singleDatePicker: true,
                showDropdowns: true,
                locale: {
                    format: 'DD/MM/YYYY'
                }
            });
            date_select_field.on('focus', function () {
                $(this).closest('.form-group').addClass('is-focused');
            });
            date_select_field.on('apply.daterangepicker', function (ev, picker) {
                $(this).val(picker.startDate.format('DD/MM/YYYY'));
                $(this).closest('.form-group').addClass('is-focused');
            });
            date_select_field.on('hide.daterangepicker', function () {
                if ('' === $(this).val()) {
                    $(this).closest('.form-group').removeClass('is-focused');
                }
            });

        }

如果我路由到另一个页面localhost/register然后返回上一页,则datepicker将无效,因为DOM无法知道此功能是什么以及链接了哪个页面。

那么如何在每一条路线中重新加载js文件?

1 个答案:

答案 0 :(得分:1)

您可以将js本地导入ts文件,如下所示:import'../../../ scripts / custom.js';

然后在custom.js中声明要像这样使用的方法名称 声明var fAlert; 然后在像ngOnInit这样的地方直接使用这个方法

fAlert();