我想在仪表板中动态显示添加的用户。 我的代码是以下面的方式。 控制器:实际操作触发的位置。 添加用户功能
$scope.addUser= function(){
modalService.addUser();
}
function init(){
// Someother functions
getUserRequests()
};
function getUserRequests() {
datacontext.getExtranetUserRequests()
.then(function (data){
vm.ExtranetUserRequest = data;
});
};
服务:modalService
addUser: function (column) {
var modalInstance = $modal.open({
templateUrl: 'app/NewExtranetSite/Popup/userModal.html',
controller: 'userModal',
});
updateUser: function(){
// updates the user
});
控制器:userModal 在添加信息后的userModal.html中,点击“保存”后,将触发添加用户功能。
function addUser(){
datacontext.saveNewExtranetuserRequest($scope.user);
};
我想在用户模式中添加用户完成后启动getUserRequests()
这样新添加的用户可以在仪表板上隐藏而无需刷新页面
答案 0 :(得分:0)
$ modal.open函数返回一个promise,因此很容易等待模态关闭然后执行另一个函数。让'addUser'返回此promise,然后在执行getUserRequests之前等待它完成:
modalService中的:
addUser: function (column) {
var modalInstance = $modal.open({
templateUrl: 'app/NewExtranetSite/Popup/userModal.html',
controller: 'userModal',
});
return modalInstance;
}
控制器中的:
$scope.addUser= function(){
modalService.addUser().then((resultReturnedFromModal) => {
getUserRequests();
});
}
答案 1 :(得分:0)
让我回答你。
$ sope.variable.push({ '键':值, '值':值});
** 一旦您的对象填充了新数据,它将自动显示在视图中。 我们有一个非常棒的ng-repeat angular指令来显示包含对象的动态列表。 6. **
ng-repeat =“按$ index在可变轨道中键入”
**
答案 2 :(得分:0)
对不好的帖子感到抱歉。
让我在这篇文章中简要解释一下
我想在页面上动态显示添加的数据。 我有一个用户添加操作的控制器。
polyroots
我正在使用服务modalService来处理添加用户请求。
(function () {
'use strict';
var controllerId = 'newUser';
angular.module('app').controller(controllerId,
['modalService', '$scope', 'dataContext', newUser]);
function newUser(modalService, $scope, dataContext) {
init();
function init() {
var extranetSiteRequestId = +$routeParams.id;
if (extranetSiteRequestId && extranetSiteRequestId > 0) {
getItem(extranetSiteRequestId);
getUserRequests();
}
}
$scope.newuserRequest = function () {
modalService.addUser();
}
function getUserRequests() {
datacontext.getExtranetUserRequests().then(function (data) {
vm.UserData = data;
});
};
}
}());
最后在userModal控制器中处理新用户添加的请求
(function (){
'use strict';
var serviceId = 'modalService'
angular.module('app').service(serviceId, ['$modal', modalService]);
function modalService($modal) {
return {
addUser: function () {
var modalInstance = $modal.open({
templateUrl: 'app/NewExtranetSite/Popup/userModal.html',
controller: 'userModal',
});
modalInstance.result.then(function (userDetails) {
if (userDetails) {
alert(userDetails) ;
};
})
},
};
}
})();
现在的问题是我想在modalService.adduser完成后在 newUser 控制器中添加成功或功能
EX:modalService.addUser()。then(function(results){
(function () {
'use strict';
var controllerId = 'userModal';
angular.module('app').controller(controllerId, ['$scope', '$modalInstance', 'datacontext', 'common', addUserModalFunction]);
function addUserModalFunction($scope, $modalInstance, datacontext, common) {
var vm = $scope;
vm.cancel = cancel;
vm.submit = addUser;
init();
function init() {
common.logger.log("controller loaded", null, controllerId);
common.activateController([], controllerId);
}
function cancel() {
$modalInstance.close();
}
$scope.open = function ($event, opened) {
$event.preventDefault();
$event.stopPropagation();
$scope[opened] = true;
};
function addUser() {
datacontext.saveNewExtranetuserRequest($scope.user).then(function(data){
$modalInstance.close($scope.user);
});
};
};
})();
Fikkatra感谢您的回复,但无法实现
非常糟糕@ angular