Javascript 在AngularJS中编辑数据
我刚开始学习angular,尝试做一些SPA,但面临编辑数据的问题。obect在控制台中可见,但它没有出现在页面上,我做错了什么? 这里是我的控制器:Javascript 在AngularJS中编辑数据,javascript,angularjs,single-page-application,Javascript,Angularjs,Single Page Application,我刚开始学习angular,尝试做一些SPA,但面临编辑数据的问题。obect在控制台中可见,但它没有出现在页面上,我做错了什么? 这里是我的控制器: var app = angular.module("testModule", ['ngRoute']); app.config(function ($routeProvider){ $routeProvider.when('/', { templateUrl: 'pages/main.html', con
var app = angular.module("testModule", ['ngRoute']);
app.config(function ($routeProvider){
$routeProvider.when('/', {
templateUrl: 'pages/main.html',
controller: 'addCtrl'
})
.when('/save', {
templateUrl: 'pages/save.html',
controller: 'editCtrl'
})
.when('/edit', {
templateUrl: 'pages/edit.html',
controller: 'addCtrl'
})
})
app.service('dataService', function($http) {
var data = {};
data.list = [];
var getData = function() {
$http.get("model/data.json").then(function (response) {
data.list = response.data;
});
}
return {
getDataFromJson: getData,
getData: data,
}
});
app.controller("mainCtrl", function($scope, dataService) {
dataService.getDataFromJson();
});
app.controller("editCtrl", function($scope, dataService) {
$scope.data = dataService.getData;
$scope.editData = function(adverse){
$scope.adverse= adverse;
console.log($scope.adverse)
}
});
以及第页的部分:
<div class="panel">
<form name="addForm" >
<div class="well" >
<div class="form-group">
<label for="name">Name:</label>
<input type='text' id="name" class="form-control" ng-model="adverse.name" placeholder={{adverse.name}} />
<label for="shop">Shop:</label>
<input type='text' id="shop" class="form-control" ng-model="adverse.shop" placeholder="{{adverse.shop}}" />
<label for="begin">Begin:</label>
<input id="begin" class="form-control" ng-model="adverse.begin" placeholder="{{adverse.begin}}" >
<label for="end">End:</label>
<input id="end" class="form-control" ng-model="adverse.end" placeholder="{{adverse.end}}" />
<button type="submit" class="btn btn-primary btn-block add_btn" ng-click="editData(adverse)">
<a href="#/">Edit</a>
</button>
</div>
</div>
</form>
</div>
姓名:
商店:
开始:
完:
这里还有一个屏幕截图:对象的道具应该在输入中,但它没有。
如果可能的话,你能给我一个例子,我可以用另一种方法来做吗?在plunker中重新创建了你的场景。但它是有效的。请看一下这个plunker,在那里你可以看到StateProvider,它被用来代替NgRoute 我看到的一件不正确的事情是,您正在函数中发送不利对象,然后将参数设置为不利作用域。 问题是,$scope.advanced已经保存了这些值,因此您不需要传递该值并再次将其设置到范围中。请记住,范围是视图和ctrl之间的粘合剂
$scope.editData = function(){
console.log($scope.adverse)
}
它应该做什么?您正在尝试预填充您的输入吗?F12,有错误吗?确保spa主html页面包含对控制器等的引用。。