javascript - 无法从输入到控制器获取 ng-model 值
问题描述
我是 Angularjs 的新手。我在 ionic 中有一个日期选择器。选择日期输入后,将获取所选日期的值。现在我正在尝试使用 $scope 在控制器中访问此值,但我无法访问。
这是我的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>
我在提交后调用保存函数。我正在将其他值与 fieldWork 对象绑定。
这是Controller.js
$scope.dateValue = "";
$scope.saveFieldWork = function(fieldWork) {
fieldWork.fieldDate = $scope.dateValue;
//other code
};
在这里,我无法获得选定的日期值。但在选择日期后的输入中,它显示正确的日期。
目前它显示的是空字符串而不是选定的日期。谁能告诉如何将此值输入控制器?如果 AngularJs 支持两种方式的数据绑定,那么为什么我不能ng-model
从 html 获取值到控制器?
解决方案
您无权访问 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>
推荐阅读
- ios - 为什么该网站无法在 Swift URLSession 中转换为 UTF8?
- javascript - 用 js 和 php 改变 div 背景颜色
- arrays - Qsort c中的char数组
- python - 在单元格中插入表格
- firefox - lld-link:错误:无法写入输出文件:权限被拒绝
- javascript - 基于常见分组的正则表达式匹配组
- php - 识别哪个插件抛出此错误的最有效方法 - “检测到活动的 PHP 会话”
- database - 如何将主键和外键添加到 BigQuery?
- java - 带可变参数的功能接口
- node.js - 使用 Sequelize 提取关联值