我正在尝试使用json文件创建一个。所以我有一个json文件,我使用angular js将其调用到我的html中,当我点击使用ng-click的保存按钮时,我遇到了问题,这里我试图使用像这样的用户数组:
<div ng-repeat="x in myWelcome.definition.attributes">
<div ng-repeat= "y in x.children ">
<div ng-if ="y.rm_type_name == 'DV_TEXT'">
<input type="{{ y.node_id }}" name="{{ y.node_id }}" ng-model="user[y.node_id]">
</div>
<div ng-if ="y.rm_type_name == 'DV_CODED_TEXT'">
<input type="{{ y.node_id }}" name="{{ y.node_id }}" ng-model="user[y.node_id]">
</div>
</div>
<h1>You entered: {{user}}</h1>
</div>
<input type="submit" ng-click="update(user)" value="Save" />
我的控制器看起来像这样:
$scope.update = function(user) {
console.log(user);
};
我在我的控制台中获取未定义的是plunker: https://plnkr.co/edit/62g4YhkowQtwkyBOPKi5?p=preview
答案 0 :(得分:2)
你只需要添加一行,我认为这样可以在你的控制器中使用它而不再有更改:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
$scope.master = {};
$scope.user = {};
$scope.update = function(user) {
$scope.master = angular.copy(user);
$scope.user = {};
console.log(user);
};
$http.get("data.json")
.then(function(response) {
$scope.myWelcome = response.data;
});
});
您只需在控制器中添加此内容$ scope.user = {};它会起作用
答案 1 :(得分:1)
尝试这样,它是一个样本
<form class="form-horizontal" role="form" ng-app="myApp" ng-controller="MyCtrl">
<input class="form-control" id="tittle" placeholder="tittle" ng-model="formInfo.tittle">
<input class="form-control" id="name" placeholder="Name" ng-model="formInfo.Name">
<button type="submit" ng-click="saveData()" class="btn btn-success">save</button>
</form>
var app=angular.module('myApp', []);
app.controller('MyCtrl', ['$scope', function($scope) {
$scope.formInfo = {};
$scope.saveData = function() {
console.log($scope.formInfo);
}
}]);
答案 2 :(得分:0)
只需将ng-click =“update(user)”更改为ng-submit =“update(user)”并使用相同的定义
答案 3 :(得分:0)
我认为你忘记了AngularJS的引导。使用下面的代码段将其包含在您的项目中:
var app = angular.module('app', []);
app.controller('test', function($scope) {
// your code goes here
});
观看示例demo。