如何让 $scope.$broadcast 在 Ipad 中工作?
how to make $scope.$broadcast work in Ipad?
我有两个控制器,比如 controller1 和 controller2。
我在 controller1 中定义了名为 function1 的函数。
当我尝试使用 $scope.$broadcast 从 controller2 调用 function1 时,它在桌面浏览器中工作正常。
但它不会进入 Ipad 浏览器 chrome.
中写在 controller1 中的 $scope.$on
我尝试了不同的方法来实现它。将 controller1 导入 controller2 等等。但是浏览器中的变量并没有反映它的值。
$scope.$on
在 控制器 1:
$scope.$on("con1function", function(event, activity, action) {
$scope.function1(activity,'dashboard');
})
控制器 2:
$scope.con2function = function() {
$scope.$broadcast("con1function",data[0], '');
}
谁能告诉我这里出了什么问题?或者我可以通过什么方式使 Ipad 也能正常工作。
您可以尝试 $rootScope.$broadcast("con1function","Hi there")
广播消息并 $scope.$on()
接收消息。
如果您的控制器不相关(如 parent 或 child),那么 $scope.broadcast
或 $scope.emit
可能无法正常工作。
var myApp = angular.module('myApp',[]);
myApp.controller('controller1', function ($scope,$rootScope) {
$scope.sendMessage = function(){
console.log("in sendMessage");
$rootScope.$broadcast("con1function","Hi there")
}
});
myApp.controller('controller2', function ($scope,$rootScope) {
console.log("in controller2");
$scope.$on("con1function", function(event, activity) {
console.log('dashboard',activity);
});
});
还要确保在您的脚本或 HTML 中加载了所需的控制器。
我有两个控制器,比如 controller1 和 controller2。 我在 controller1 中定义了名为 function1 的函数。 当我尝试使用 $scope.$broadcast 从 controller2 调用 function1 时,它在桌面浏览器中工作正常。
但它不会进入 Ipad 浏览器 chrome.
中写在 controller1 中的$scope.$on
我尝试了不同的方法来实现它。将 controller1 导入 controller2 等等。但是浏览器中的变量并没有反映它的值。
$scope.$on
在 控制器 1:
$scope.$on("con1function", function(event, activity, action) {
$scope.function1(activity,'dashboard');
})
控制器 2:
$scope.con2function = function() {
$scope.$broadcast("con1function",data[0], '');
}
谁能告诉我这里出了什么问题?或者我可以通过什么方式使 Ipad 也能正常工作。
您可以尝试 $rootScope.$broadcast("con1function","Hi there")
广播消息并 $scope.$on()
接收消息。
如果您的控制器不相关(如 parent 或 child),那么 $scope.broadcast
或 $scope.emit
可能无法正常工作。
var myApp = angular.module('myApp',[]);
myApp.controller('controller1', function ($scope,$rootScope) {
$scope.sendMessage = function(){
console.log("in sendMessage");
$rootScope.$broadcast("con1function","Hi there")
}
});
myApp.controller('controller2', function ($scope,$rootScope) {
console.log("in controller2");
$scope.$on("con1function", function(event, activity) {
console.log('dashboard',activity);
});
});
还要确保在您的脚本或 HTML 中加载了所需的控制器。