2013-12-17 37 views
4

我暫時沒有看到眼睛..下面的代碼拋出了一個錯誤Angularjs - 將字符串分割問題

Error: value.split is not a function

是threre分裂一個簡單的字符串

var value = "7,9"; 

$scope.getTemplate = function(value){ 

    var values = value.split(","); 

    value1 = values[0]; 
    value2 = values[1]; 

    $scope.templateid = value1; 
    $scope.userid = value2; 
} 

回答

7

問題的angularjs方式似乎是你有一個名爲value的函數參數,它隱藏了外部變量value。此外,您的函數定義以)而不是}結尾,這是一個語法錯誤,但我相信這可能只是您在此處發佈代碼的問題。

你也應該明確聲明變量value1value2(除非你已經在你的函數之外實際聲明瞭它們)。

試試這個:

var value = "7,9"; 

$scope.getTemplate = function(){ 
    var values = value.split(","); 

    var value1 = values[0]; 
    var value2 = values[1]; 

    $scope.templateid = value1; 
    $scope.userid = value2; 
}; 

或中間變量擺脫完全:

$scope.getTemplate = function(){ 
    var values = value.split(","); 
    $scope.templateid = values[0]; 
    $scope.userid = values[1]; 
}; 

更新考慮您的意見出現的方法實際上是被稱爲有兩個參數,而不是單個字符串參數。在這種情況下,根本不需要分割。試試這個:

$scope.getTemplate = function(value1, value2){ 
    $scope.templateid = value1; 
    $scope.userid = value2; 
}; 
+0

外部變量是什麼值看起來像演示。該函數接收一個字符串參數,看起來像「x,y」,我需要拆分它(在函數中)以獲得x和y作爲單獨的值。所以我需要該函數參數。 – GRowing

+0

@PersistentNewbie你確定嗎?你可以在函數中做一個'console.log(value)'來驗證它實際的外觀嗎? –

+0

該函數是從ng-click =「tbGetTemplate(21,32)中喚起的。控制檯日誌只返回21 – GRowing