2015-02-06 72 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