我有世界上最简单的控制器,我希望访问$ scope但它是“未定义”而我不能,因为我的生活解决了为什么,但是所有的功能都被称为corectly,DataService等工作完美,只是我无法访问$ scope?!
控制器代码在
之下app = angular.module("windscreens", []);
app.controller('DamageCtrl', function($scope, DataService) {
$scope.setDamageLocation = function(location) {
DataService.getDamage().setLocation(location);
};
$scope.isLocation = function(requiredLocation) {
return DataService.getDamage().getLocation() === requiredLocation;
};
$scope.progress = function() {
};
});
答案 0 :(得分:0)
要从HTML模板访问作用域上的属性,您只需要使用属性名称,不需要用它来编写$ scope。
示例:
<button ng-click="progress()"></button>
在您的javascript中,您只能访问控制器及其功能中的$ scope。如果您调用外部资源,例如:DataService模块,除非您明确地将其作为参数传递,否则它将无法访问$ scope。
答案 1 :(得分:0)
我设法使用替代语法使其工作。如下所述,仍然不确定为什么它不起作用但是哼哼
app.controller('DamageCtrl', ['$scope', 'DataService',
function($scope, DataService) {
$scope.setDamageLocation = function(location) {
DataService.getDamage().setLocation(location);
};
$scope.isLocation = function(requiredLocation) {
return DataService.getDamage().getLocation() === requiredLocation;
};
$scope.progress = function() {
console.log($scope);
};
}
]);