2017-06-05 272 views
-2

我試圖在網格中綁定$ scope.span00,span01,span10等。

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

現在的NG-點擊...

$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. 
} 

它說這是不是一個函數。我在這裏做什麼?

+0

添加功能到$ scope – gmuraleekrishna

+0

你的代碼看起來很奇怪, 只是爲了回答你的問題:**你聲明你的函數時沒有將它賦值給'$ scope',所以,就像'gridLocation()'一樣調用它。** – Hitmands

回答

2

因爲該功能在$scope上不存在。這就是你需要做什麼:

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

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

編輯

要你在評論中問道,什麼(我希望我理解正確的):

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

喜歡它!比嵌套函數聲明更清晰。謝謝:) –

+1

沒問題,很樂意幫忙。 –

+0

「分配中的左側無效」$ scope.gridLocation(row,column)='test'; –