Angularjs 角度选择值不变
我在一个表格中有几行,每行在最后一个单元格中都有一个选择菜单。初始值由一个控制器填充,选择选项由第二个控制器填充。第二个控制器还更新ng更改时的值。如果我使用ng selected,我会获得初始值,但不会在更改时更改值。(但它会将其记录到控制台)。如果我使用ng init,它不会在加载时提供值,但会在更改值后更新Angularjs 角度选择值不变,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我在一个表格中有几行,每行在最后一个单元格中都有一个选择菜单。初始值由一个控制器填充,选择选项由第二个控制器填充。第二个控制器还更新ng更改时的值。如果我使用ng selected,我会获得初始值,但不会在更改时更改值。(但它会将其记录到控制台)。如果我使用ng init,它不会在加载时提供值,但会在更改值后更新 app.controller('agents', function($scope, $http){ $scope.getAgents = function(){
app.controller('agents', function($scope, $http){
$scope.getAgents = function(){
$http.get("getagents.php").then(function(response) {
$scope.agents = response.data;
});
}
$scope.getActiveAgents = function(){
$http.get("activeagents.php").then(function(response) {
// console.log(response.data);
$scope.activeagents = response.data;
});
}
$scope.updateAgenttoLead = function(agent, id){
console.log('ID:'+ id);
console.log('Agent:'+ agent);
}
$scope.updateForm = {};
$scope.updateAgent = function() {
$http.post('updateagent.php', {
'id' : $scope.updateForm.id,
'username' : $scope.updateForm.username,
'password' : $scope.updateForm.password
}
).success(function(data) {
// console.log(data);
$scope.updateForm = {};
$scope.getAgents();
// if (!data.success) {
// // if not successful, bind errors to error variables
// $scope.errorName = data.errors.name;
// $scope.errorSuperhero = data.errors.superheroAlias;
// } else {
// // if successful, bind success message to message
// $scope.message = data.message;
// }
});
};
$scope.addForm = {};
$scope.addAgent = function() {
$http.put('createagent.php', {
'username' : $scope.addForm.username,
'password' : $scope.addForm.password,
'type' : $scope.addForm.type
}
).success(function(data) {
$scope.addForm = {};
$scope.getAgents();
});
};
$scope.deleteagent = function(newid){
var r =confirm('Are you sure you want to delete '+ newid+'?');
if(r){
$http.post('deleteagent.php', {
'newid':newid
}
).success(function(data) {
$scope.getAgents();
console.log(data);
});
}
};
}); // end controller
app.controller('leads', function($scope, $http){
$scope.getLeads = function(){
$http.get("getleads.php").then(function(server) {
$scope.leads = server.data;
});
}
$scope.dispositions =[
'Never Called',
'Not Available',
'Left Message',
'Call Later',
'Not Interested',
'Not Qualified',
'Bad Phone',
'No Dates',
'DNC',
'Post Date',
'Sold'
];
$scope.updateDisp = function(disp, id){
var r = confirm('Update record '+ id +' to '+disp+'?');
if(r){
$http.post('updatedisp.php', {
'id' : id,
'disp' : disp
}
).success(function(data) {
console.log(data);
});
}else{
$scope.leads={};
$scope.getLeads();
}
}
}); // end controller
您正在将控制器用作服务。控制器旨在将UI绑定到实现,而不是提供检索数据的功能 我将重构您的代码,使页面/表有一个单独的控制器,然后将所有这些代理/领导代码放在单独的服务中,您的控制器在需要时使用这些服务 有关更多信息,请参阅本博客文章:
您正在将控制器用作服务。控制器旨在将UI绑定到实现,而不是提供检索数据的功能 我将重构您的代码,使页面/表有一个单独的控制器,然后将所有这些代理/领导代码放在单独的服务中,您的控制器在需要时使用这些服务 有关更多信息,请参阅本博客文章:
我强烈建议为此问题创建Plunker。我强烈建议为此问题创建Plunker。