2015-02-06 79 views
0

剛開始編寫JavaScript/Angular,似乎無法弄清楚爲什麼這不起作用。我試圖用$scope.mytext.split("\n")一個textarea的字符串分割成在控制器內的\n字符數組,我不斷收到:字符串拆分問題

TypeError: undefined is not a function 

我也曾嘗試ng-split='\n'這對於文字輸入工作正常,但似乎並不爲textarea工作。

一些指導將非常感激。

+0

我假設你有'ng-model =「mytext」'?位於控制器內的$ scope.mytext.split(「\ n」)位於何處? – 2015-02-06 20:14:44

+3

您應該發佈一個[最小,完整和可驗證的問題示例](http://stackoverflow.com/help/mcve)。 – alex 2015-02-06 20:18:25

+0

你的錯誤讓我相信'mytext'不是定義'split'的對象。你能看到那個物體裏有什麼嗎? – Aaron 2015-02-06 20:19:35

回答

1

所以會關閉你給我們的資料很少,我想出了以下JSFiddle

這需要在一個<textarea>輸入,將其綁定到<ng-model>,然後進行分割函數來獲取和基於陣列的在哪裏一個\n是。這樣,

$scope.myModel = { 
     textarea: null, 
     newTextarea: null 
    }; 

    $scope.splitTextArea = function(input) { 
     var newInput = input.split("\n"); 
     $scope.myModel.newTextarea = newInput; 
    }; 
+1

求助: 感謝您的回覆@tjb,在您的小提琴看來,只有當按鈕被點擊時通過傳遞數據到控制器纔會產生差異,而不是通過$ scope訪問它。這樣做更有意義,儘管其他ng模型數據可以直接使用$ scope,比如單選按鈕選擇,輸入框數據(使用ng-split =「,」可以很好地工作)。我的猜測是,如果我要使用我的原始代碼,那麼在調用split之前可能需要對undefined進行測試。將來我會努力提供一個更清晰的問題描述。 – jdev 2015-02-07 07:13:56

+0

@ybisrael沒問題!樂意效勞。請接受我的回答,如果它回答你的問題:) – 2015-02-07 07:29:29