Angularjs 为什么我会得到;字符串不是函数";?

Angularjs 为什么我会得到;字符串不是函数";?,angularjs,Angularjs,我试着在我的收件箱里回复邮件,我想这就像发送一条信息一样简单。我在电子邮件中输入参数,而不是$scope.messageTo和$scope.messageFrom 有人知道我的代码中的错误在哪里吗?我不知道是什么原因导致了错误“字符串不是函数”,而且它没有给我任何变量名 // Reply to message // Console error in browser: TypeError: string is not a function $scope.reply = function () {

我试着在我的收件箱里回复邮件,我想这就像发送一条信息一样简单。我在电子邮件中输入参数,而不是
$scope.messageTo
$scope.messageFrom

有人知道我的代码中的错误在哪里吗?我不知道是什么原因导致了错误“字符串不是函数”,而且它没有给我任何变量名

// Reply to message
// Console error in browser: TypeError: string is not a function
$scope.reply = function () {
    var msg = $scope.reply;
    console.log('Replying...');
    $scope.message = {
        read: false,
        sender: {
            id: $scope.user.user._id,
            name: $scope.user.user.user.first + " " + $scope.user.user.user.last,
            user: $scope.user.user.user.user
        },
        message: msg,
    };
    Inbox.sendNewMessage($scope.message, 'My Name', 'myemail@gmail.com', 'myemail@gmail.com');
};
更新:我认为这与调用$scope.reply函数本身有关。如果我删除$scope.reply中的所有代码并添加一个简单的console.log('reply');,这给了我同样的错误。以下是触发应答函数的代码:

<button data-dismiss="modal" data-toggle="modal" href="#direct-messages" ng-click="reply();">Send Reply</button>
发送回复
这是我的ng model=“回复”


替换此:

Inbox.sendNewMessage($scope.message, 'My Name', 'myemail@gmail.com', 'myemail@gmail.com');
为此:

Inbox.sendNewMessage($scope.message.message, 'My Name', 'myemail@gmail.com', 'myemail@gmail.com');
并为变量使用另一个名称,因为它与函数名相同:

var msg = $scope.replyMsg;

您知道可以在代码中设置断点吗?这是真的!在chrome中,按ctrl+shift+I进入“源”选项卡,看!
var msg = $scope.replyMsg;