Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I'm trying to ng-bind $scope.span00, span01, span10, and so on in a grid.

$scope.span01 = 'test'; // this works fine

Now for the ng-click...

$scope.clickedOn = function(row, column) {

  var gridLocation = function() { return 'span'.concat(row).concat(column); } // returns span01
  $scope.gridLocation() = 'test'; // says $scope.gridLocation() is not a function.
}

It's saying it's not a function. What do I do here?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
254 views
Welcome To Ask or Share your Answers For Others

1 Answer

Because the function does not exist on $scope. This is what you need to do:

$scope.gridLocation = function (row, column) {
    return 'span'.concat(row).concat(column);
};

$scope.clickedOn = function (row, column) {
    $scope.gridLocation(row, column);
};

Edit

To do what you asked for in the comments (I hope I understood correctly):

$scope.clickedOn = function (row, column) {
    $scope[$scope.gridLocation(row, column)] = 'test';
};

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...