Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 同一控制器中Angularjs的开始日期和结束日期_Javascript_Angularjs_Angularjs Directive_Datepicker_Angularjs Scope - Fatal编程技术网

Javascript 同一控制器中Angularjs的开始日期和结束日期

Javascript 同一控制器中Angularjs的开始日期和结束日期,javascript,angularjs,angularjs-directive,datepicker,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Datepicker,Angularjs Scope,在Angularjs中创建开始日期和结束日期的最佳方法是什么?下面的代码使用了相同的控制器。为每个日期选择器创建一个单独的控制器是最佳做法吗?我的意图是有一个搜索按钮,它将从两个日期选择器获取输入,然后进行一些后端处理 我的HTML <input type="text" class="form-control" datepicker-popup="{{format}}" ng-model="startdt" is-open="opened" date

在Angularjs中创建开始日期和结束日期的最佳方法是什么?下面的代码使用了相同的控制器。为每个日期选择器创建一个单独的控制器是最佳做法吗?我的意图是有一个搜索按钮,它将从两个日期选择器获取输入,然后进行一些后端处理

我的HTML

<input type="text" 
    class="form-control" 
    datepicker-popup="{{format}}" 
    ng-model="startdt" is-open="opened" 
    datepicker-options="dateOptions" 
    ng-required="true" close-text="Close" />
<span class="input-group-btn">
    <button type="button" class="btn btn-default" ng-click="startopen($event)">
        <i class="glyphicon glyphicon-calendar"></i>
    </button>
</span>

指令将是移动此内容的更好选项。另一件需要记住的事情是,您可以将数据选择器(绑定对象又名模型)的值设置为日期对象,而不是格式化的日期字符串。由于在前端拾取日期也会将值设置为日期对象,通过这种方式,您可以始终期望使用日期对象。由于它们是相互连接的,我不明白您为什么需要单独的控制器,因为您需要通过服务或事件广播将它们连接在一起。您将根据范围中的从属
ng模型进行筛选
        ///////////// BEGIN Datepicker code
    $scope.today = function () {
        $scope.startdt = $filter('date')((new Date()), "dd-MMMM-yyyy");
        $scope.enddt = $filter('date')((new Date()), "dd-MMMM-yyyy");
    };
    $scope.today();


    $scope.clear = function () {
        $scope.dt = null;
    };

    $scope.startopen = function ($event) {
        $event.preventDefault();
        $event.stopPropagation();

        $scope.opened = true;
    };

            $scope.endopen = function ($event) {
        $event.preventDefault();
        $event.stopPropagation();

        $scope.opened = true;
    };
    $scope.dateOptions = {
        formatYear: 'yy',
        startingDay: 1
    };

    $scope.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];
    $scope.format = $scope.formats[0];