我是Angularjs.的新手。我在离子中有一个日期选择器。选择日期输入后获取所选日期的值。现在我尝试使用$ scope在Controller中访问此值,但我无法访问。< / p>
这是我的HTML
<div class="list">
<label class="item item-input">
<input type="text" data-ng-model="dateValue" disabled>
</label>
</div>
<my-calendar display="dateValue" dateformat="'yyyy-MM-dd'"></my-calendar>
<button id="fieldWork-button21" data-ng- click="saveFieldWork(fieldWork)"></button>
我在提交后调用save函数。我正在使用fieldWork对象绑定其他值。
这是Controller.js
$scope.dateValue = "";
$scope.saveFieldWork = function(fieldWork) {
fieldWork.fieldDate = $scope.dateValue;
//other code
};
这里我无法获得选定的日期值。但是在选择日期后的输入中,它显示的是正确的日期。
目前它显示空字符串而不是选定日期。任何人都可以告诉如何将此值传入Controller?如果AngularJs支持双向数据绑定,那么为什么我无法从html获取ng-model
值到Controller?
答案 0 :(得分:0)
您无法访问html中的fieldWork变量,因此您无法在data-ng-click
中使用它。
<button id="fieldWork-button21" data-ng-click="saveFieldWork()"></button>
看这个
(function() {
'use strict';
angular.module('player', [])
.controller('MainCtrl', ['$scope', function($scope) {
var fieldWork = {};
$scope.saveFieldWork = function() {
fieldWork["fieldDate"] = $scope.dateValue;
console.log(fieldWork);
//other code
};
}])
})();
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.10/angular.min.js"></script>
<div ng-app='player'>
<div ng-controller='MainCtrl'>
<div class="list">
<label class="item item-input">
<input type="text" data-ng-model="dateValue">
</label>
</div>
<button id="fieldWork-button21" data-ng-click="saveFieldWork()">Save</button>
</div>
</div>