Html AngularJS控制器在设置后重置$scope变量
我正在尝试使用AngularJS项目实现一个简单的日期选择器 当我更改日期时,我正在从on change函数设置$scope变量。调试时,我可以看到传递了正确的拾取值,$scope.simStartDate实际上正在更改为设置日期 但是,当我稍后尝试读取它时,在paramsforbmtnclicked()函数中,已将重置回其原始值。看起来我在另一个范围内更改了一个值,但我不知道在哪里 这是JS文件:Html AngularJS控制器在设置后重置$scope变量,html,angularjs,angularjs-scope,angular-ui-bootstrap,angular-ui-datepicker,Html,Angularjs,Angularjs Scope,Angular Ui Bootstrap,Angular Ui Datepicker,我正在尝试使用AngularJS项目实现一个简单的日期选择器 当我更改日期时,我正在从on change函数设置$scope变量。调试时,我可以看到传递了正确的拾取值,$scope.simStartDate实际上正在更改为设置日期 但是,当我稍后尝试读取它时,在paramsforbmtnclicked()函数中,已将重置回其原始值。看起来我在另一个范围内更改了一个值,但我不知道在哪里 这是JS文件: angular.module('BlurAdmin.pages.dashboard')
angular.module('BlurAdmin.pages.dashboard')
.controller('DashboardParamsFormCtrl', DashboardParamsFormCtrl);
/** @ngInject */
function DashboardParamsFormCtrl(baConfig, layoutPaths, baUtil, $scope)
{
$scope.ParamsFormBtnClicked = function()
{
console.log("Date: " + $scope.simStartDate);
}
$scope.open = open;
$scope.opened = false;
$scope.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];
$scope.format = $scope.formats[0];
$scope.options = {
showWeeks: false
};
function open() {
$scope.opened = true;
}
$scope.simStartDate = new Date();
$scope.date = new Date();
$scope.setDate = function(startDate)
{
$scope.simStartDate = startDate;
}
}
})();
HTML是:
<div class="row" ng-controller="DashboardParamsFormCtrl">
<div class="col-sm-6">
<div class="form-group">
<label for="inputFirstName">Simulation start date</label>
<p class="input-group">
<input type="text" class="form-control"
uib-datepicker-popup="{{format}}"
datepicker-options="options"
ng-model="date"
ng-change="setDate(date)"
is-open="opened" ng-required="true"
close-text="Close"
alt-input-formats="altInputFormats"
show-button-bar="true" />
<span class="input-group-btn">
<button type="button" class="btn btn-default"
ng-click="open()">
<i class="glyphicon glyphicon-calendar"></i>
</button>
</span>
</p>
</div>
</div>
模拟开始日期
在我看来,$scope.date
和$scope.simStartDate
应该始终具有相同的值$scope.date
通过ng model
绑定到日历指令,并且无论何时更改,$scope.simStartDate
都设置为相同的值。您是否可以在实际需要时设置$scope.simStartDate=$scope.date
(或者只使用$scope.date
),而不是在ng change
上使用setDate()
方法?仅使用ng model=“simStartDate”,其余部分似乎没用。您有alt input formats=“altinput formats”
,但是altInputFormats
似乎没有在$scope
上定义。我不确定这会产生什么影响,但这实际上会将alt输入格式设置为undefined
。在
元素上是否有操作
属性?这将导致页面在提交后重新加载。显示单击提交按钮时执行的代码。