您好我正在尝试将数据从一个控制器传递到另一个控制器,但数据未显示在UI的另一端。
这是我的服务代码: -
app.factory('ServiceF', function($rootScope) {
var service = {};
service.data = false;
service.sendData = function(data){
this.data = data;
$rootScope.$broadcast('data_shared');
};
service.getData = function(){
return this.data;
};
return service;
});
控制器1代码: -
app.controller('Ctrlone', ["$scope", "ServiceF", function ($scope, ServiceF) {
$scope.Info= {};
$scope.ser= function(){
ServiceF.sendData($scope.Info);
console.log($scope.Info);
};
}]);
$scope.Info
数据来自其他来源,我尚未发布。但它即将到来。
控制器2: -
app.controller('Ctrltwo', ["$scope" ,"ServiceF",
function($scope , ServiceF) {
$scope.Info= '';
$scope.$on('data_shared',function(){
var good = ServiceF.getData();
$scope.Info = good;
});
}]);
我想要显示信息的用户界面: -
<div class="col-sm-8">
<h1 class="mainTitle">Ok Start </h1>
<h2>{{good}}</h2>
</div>
第一个UI的按钮点击功能: -
<label class="cardlabel" style="width:11vw" ui-sref="uitwo" ng-click="ser()">Send</label>
现在我哪里错了?信息未显示在第二个UI上。如何检查数据是否正在传递服务?
答案 0 :(得分:0)
您的范围中没有名为good
的属性。因此{{ good }}
将始终为空。
scope属性名为Info
。所以你想要{{ Info }}
。