我对 AngularJS 完全陌生,目前我正在转换一个小应用程序,尽管有一件事让我很不爽。
我的目标是向仪表板添加一个模块,如果我对 JSON 数据进行硬编码,一切都会正常工作,但是,在使用变量时似乎会出现问题。
我的服务:
var pushData = angular.toJson({"modID": "mod_rText_01", "sequence": 1, "group": 1, "dashboard": 1, "type": "text", "content": ["17%", "operating capacity"]});
console.log(' :: Module data pushed: ' + pushData);
$rootScope.$broadcast('locations', pushData); // broadcast to controller
我的控制器:
// listen for service location updates
$scope.$on('locations', function(event, pushData) {
console.log(' :: Module data received: ' + pushData);
$scope.locations.push(pushData);
});
控制台日志:
:: Module data pushed: {"modID":"mod_rText_01","sequence":1,"group":1,"dashboard":1,"type":"text","content":["17%","operating capacity"]}
:: Module data received: {"modID":"mod_rText_01","sequence":1,"group":1,"dashboard":1,"type":"text","content":["17%","operating capacity"]}
如前所述,如果我将控制器线更改为: $scope.locations.push({"modID":"mod_rText_01","sequence":1,"group":1,"dashboard":1,"type":"text","content":["17%","operating capacity"]});
它工作正常。我觉得我错过了什么!虽然,根据 console.log,变量“pushData”是正确的,但没有任何反应。
任何帮助将不胜感激!