我在一个项目中使用angular js。我对angular很陌生,下面的错误让我对使用angular更加困惑。
我有一个js函数
function ShowHideEditOptions(id) {
var editOptions = document.getElementById("editOptions");
editOptions.style.display = "block";
selectedNodeId = id;
InitializeMapForSelectedNode();
}
我想在ShowHideEditOptions(id){}
函数中调用InitializeMapForSelectedNode();
角度函数。
有可能吗???
当我这样做时,它会给我一个错误,说$scope未定义
这是我的角度控制器
<script>
var app = angular.module('app', ['kendo.directives']);
var selectedNodeId = "";
app.controller("locationController", function ($compile, $scope, $log, $timeout) {
$scope.InitializeMapForSelectedNode = function () {
InitializeMapForSelectedNode($scope);
}
});
</script>
角度函数是
function InitializeMapForSelectedNode($scope) {
var locations = $scope.MeterList; // this is where the error occur
.....
}
这个函数使用了以前绑定的$scope.MeterList变量。这是firebug检测到$scope是Undefined错误的地方。
尝试使用$scope
进行调用
<script>
var app = angular.module('app', ['kendo.directives']);
var selectedNodeId = "";
app.controller("locationController", function ($compile, $scope, $log, $timeout) {
$scope.InitializeMapForSelectedNode = function () {
$scope.InitializeMapForSelectedNode();
}
});