Angularjs 如何将$scope.variables传输到控制器?
我正在构建一个系统,在这个系统中,我将项目列在一个带有变量的列表中Angularjs 如何将$scope.variables传输到控制器?,angularjs,angularjs-scope,Angularjs,Angularjs Scope,我正在构建一个系统,在这个系统中,我将项目列在一个带有变量的列表中 头衔 技巧 预算 张贴 我还有一个模式,当我点击列表中的一个项目时,它会打开。我想获取当前选定的项目,并在第二个模态控制器中使用其变量?这可能吗 我曾考虑使用一种服务,缓存从数据库中提取的所有数据,但我不知道如何只显示所选项目,而不是模式中的所有项目 以下是列表项的我的控制器: app.controller('openProjectsCtrl', ['$scope', '$http', 'projectsModal', func
app.controller('openProjectsCtrl', ['$scope', '$http', 'projectsModal',
function ($scope, $http, projectsModal) {
$http.get("http://localhost/app/controllers/php/getProjects.php")
.success(function (response) {
$scope.projects = response.projects;
});
$scope.showModal = function() {
projectsModal.deactivate();
projectsModal.activate();
};
}]);
模态控制器(我想在其中查看所选变量):
是的,您可以使用两种方法在另一个控制器中使用一个控制器的变量
angular.module('myservice', []).service('msgBus', function() {
this.serviceValue= {};
}]);
});
并在控制器中使用它,如下所示:
控制器1
angular.module('myservice', []).controller('ctrl1',function($scope, msgBus) {
$scope.sendmsg = function() {
msgBus.serviceValue='Hello';
}
});
控制器2
angular.module('myservice', []).controller('ctrl2',function($scope, msgBus) {
$scope.checkValue(){
alert( msgBus.serviceValue);
}
});
是的,您可以使用两种方法在另一个控制器中使用一个控制器的变量
angular.module('myservice', []).service('msgBus', function() {
this.serviceValue= {};
}]);
});
并在控制器中使用它,如下所示:
控制器1
angular.module('myservice', []).controller('ctrl1',function($scope, msgBus) {
$scope.sendmsg = function() {
msgBus.serviceValue='Hello';
}
});
控制器2
angular.module('myservice', []).controller('ctrl2',function($scope, msgBus) {
$scope.checkValue(){
alert( msgBus.serviceValue);
}
});
是的,您可以使用两种方法在另一个控制器中使用一个控制器的变量
angular.module('myservice', []).service('msgBus', function() {
this.serviceValue= {};
}]);
});
并在控制器中使用它,如下所示:
控制器1
angular.module('myservice', []).controller('ctrl1',function($scope, msgBus) {
$scope.sendmsg = function() {
msgBus.serviceValue='Hello';
}
});
控制器2
angular.module('myservice', []).controller('ctrl2',function($scope, msgBus) {
$scope.checkValue(){
alert( msgBus.serviceValue);
}
});
是的,您可以使用两种方法在另一个控制器中使用一个控制器的变量
angular.module('myservice', []).service('msgBus', function() {
this.serviceValue= {};
}]);
});
并在控制器中使用它,如下所示:
控制器1
angular.module('myservice', []).controller('ctrl1',function($scope, msgBus) {
$scope.sendmsg = function() {
msgBus.serviceValue='Hello';
}
});
控制器2
angular.module('myservice', []).controller('ctrl2',function($scope, msgBus) {
$scope.checkValue(){
alert( msgBus.serviceValue);
}
});
//Html
//这可能是列表或其他。但我在这里使用div元素。
//范围
$scope.listClick=函数(obj$event){
log($event.target);
//使用服务保存$event.target元素并在下一个控制器中使用。
}
//Html
//这可能是列表或其他。但我在这里使用div元素。
//范围
$scope.listClick=函数(obj$event){
log($event.target);
//使用服务保存$event.target元素并在下一个控制器中使用。
}
//Html
//这可能是列表或其他。但我在这里使用div元素。
//范围
$scope.listClick=函数(obj$event){
log($event.target);
//使用服务保存$event.target元素并在下一个控制器中使用。
}
//Html
//这可能是列表或其他。但我在这里使用div元素。
//范围
$scope.listClick=函数(obj$event){
log($event.target);
//使用服务保存$event.target元素并在下一个控制器中使用。
}
对于角度用户界面模型,您可以使用:
app.controller('openProjectsCtrl', ['$scope', '$http', '$modal',
function ($scope, $http, $modal) {
// Open modal for code
var modalInstance = $modal.open({
templateUrl: 'modal.html',
controller: 'projectsModalCtrl',
resolve: {
yourObject: function() {
return $scope.yourObject;
}
},
scope: $scope
});
});
app.controller('projectsModalCtrl', ['$scope', '$timeout', '$modalInstance', 'yourObject',
function ($scope, $timeout, $modalInstance, yourObject) {
$scope.yourObject = yourObject;
}]);
对于Angular UI模块,您可以使用:
app.controller('openProjectsCtrl', ['$scope', '$http', '$modal',
function ($scope, $http, $modal) {
// Open modal for code
var modalInstance = $modal.open({
templateUrl: 'modal.html',
controller: 'projectsModalCtrl',
resolve: {
yourObject: function() {
return $scope.yourObject;
}
},
scope: $scope
});
});
app.controller('projectsModalCtrl', ['$scope', '$timeout', '$modalInstance', 'yourObject',
function ($scope, $timeout, $modalInstance, yourObject) {
$scope.yourObject = yourObject;
}]);
对于Angular UI模块,您可以使用:
app.controller('openProjectsCtrl', ['$scope', '$http', '$modal',
function ($scope, $http, $modal) {
// Open modal for code
var modalInstance = $modal.open({
templateUrl: 'modal.html',
controller: 'projectsModalCtrl',
resolve: {
yourObject: function() {
return $scope.yourObject;
}
},
scope: $scope
});
});
app.controller('projectsModalCtrl', ['$scope', '$timeout', '$modalInstance', 'yourObject',
function ($scope, $timeout, $modalInstance, yourObject) {
$scope.yourObject = yourObject;
}]);
对于Angular UI模块,您可以使用:
app.controller('openProjectsCtrl', ['$scope', '$http', '$modal',
function ($scope, $http, $modal) {
// Open modal for code
var modalInstance = $modal.open({
templateUrl: 'modal.html',
controller: 'projectsModalCtrl',
resolve: {
yourObject: function() {
return $scope.yourObject;
}
},
scope: $scope
});
});
app.controller('projectsModalCtrl', ['$scope', '$timeout', '$modalInstance', 'yourObject',
function ($scope, $timeout, $modalInstance, yourObject) {
$scope.yourObject = yourObject;
}]);
好的,我知道可以使用该服务,但如何仅显示选定列表项的数据。我只知道该方法缓存来自$http的结果,但这将显示所有结果?您可以在您的服务器上应用ng模型,然后将该模型值存储在服务变量中。您是否能够提供服务方法的快速示例?检查新编辑的答案,我提供了一个关于如何添加$scope而不是字符串的示例代码?好的,我知道可以使用该服务,但是如何仅显示所选列表项的数据。我只知道该方法缓存来自$http的结果,但这将显示所有结果?您可以在您的服务器上应用ng模型,然后将该模型值存储在服务变量中。您是否能够提供服务方法的快速示例?检查新编辑的答案,我提供了一个关于如何添加$scope而不是字符串的示例代码?好的,我知道可以使用该服务,但是如何仅显示所选列表项的数据。我只知道该方法缓存来自$http的结果,但这将显示所有结果?您可以在您的服务器上应用ng模型,然后将该模型值存储在服务变量中。您是否能够提供服务方法的快速示例?检查新编辑的答案,我提供了一个关于如何添加$scope而不是字符串的示例代码?好的,我知道可以使用该服务,但是如何仅显示所选列表项的数据。我只知道该方法缓存来自$http的结果,但这将显示所有结果?您可以在您的服务器上应用ng模型,然后将该模型值存储在服务变量中。您是否能够提供服务方法的快速示例?检查新编辑的答案,我已经提供了一个示例代码,说明了如何添加$scope而不是字符串?是哪种模式?角度用户界面?什么是模态?角度用户界面?什么是模态?角度用户界面?什么是模态?Angular UI?不幸的是,我在使用UI Modals时遇到了问题,所以我不再使用它们,如果你能告诉我如何使用它们,那么我可能可以使用它们。在我的回答中,你需要使用它们的一切,首先注入$modal,然后用$modal.open打开它(可能在单击某个地方之后),当您打开它时,您可以定义它要使用的控制器,并解析要注入模态控制器的范围。就是这样。不幸的是,我在使用ui模态时遇到了问题,所以我不再使用它们了,如果你能告诉我如何使用它们,那么我可能可以使用它们。在我的回答中,你需要使用它们的一切,首先注入$modal,然后用$modal.open打开它(可能在单击某个地方之后),当您打开它时,您可以定义它要使用的控制器,并解析要注入模态控制器的范围。就是这样。不幸的是,我在使用ui模式时遇到了问题,所以我不再使用它们了,如果你能告诉我如何使用它们,那么我可能可以在其他地方使用它们