Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度$scope未在函数中更新_Javascript_Angularjs - Fatal编程技术网

Javascript 角度$scope未在函数中更新

Javascript 角度$scope未在函数中更新,javascript,angularjs,Javascript,Angularjs,我对安格拉斯望远镜有个奇怪的问题。我用了一段时间,一切都很好,但在这个小片段中,$scope不会改变。有什么想法吗? ($scope.projects和$scope.commentText,post将成功返回数据) HTM中的模型: <textarea ng-model="commentText" class="form-control" placeholder="Enter your comme

我对安格拉斯望远镜有个奇怪的问题。我用了一段时间,一切都很好,但在这个小片段中,$scope不会改变。有什么想法吗? ($scope.projects和$scope.commentText,post将成功返回数据)

HTM中的模型:

 <textarea ng-model="commentText" class="form-control"
                                              placeholder="Enter your comment..." rows="3"></textarea>
                                    <br>
                                    <a href="#" class="btn btn-primary btn-sm pull-right" ng-click="postComment(projects[0]._id, commentText)">Post comment</a>


控制器:

$scope.postComment = function (project_id, comment) {
    console.log(project_id, comment);
    if (comment && $scope.user) {
        var body = {
            project: project_id,
            text: comment.replace(/\r?\n/g, '<br />'),
            user: $scope.user.nickname,
            date: new Date()

        };
        $http.post('/api/projects/comment', body)
            .success(function (data) {
                data.comments.map(function (comment) {
                    comment.text = $sce.trustAsHtml(comment.text)
                });
                $scope.projects[0] = data;
                $scope.commentText = "";
            })
            .error(function (error) {
                console.log('Error: ' + error);

            });
    }
$scope.postComment=函数(项目id,注释){
日志(项目id、注释);
if(注释&&$scope.user){
变量体={
项目:项目编号:,
文本:comment.replace(/\r?\n/g,
), 用户:$scope.user.昵称, 日期:新日期() }; $http.post('/api/projects/comment',body) .成功(功能(数据){ data.comments.map(函数(comment){ comment.text=$sce.trustAsHtml(comment.text) }); $scope.projects[0]=数据; $scope.commentText=“”; }) .错误(函数(错误){ console.log('错误:'+错误); }); }
我想出来了。 一切正常…问题是我不能用commong$scope.textarea=”“更改textarea的内容


为此,我使用jquery和$(“#text area”).val(”)。

你能用小提琴复制它吗?我不得不减少一点,但它在那里工作。代码是正确的,只需检查你是否成功获得回调。你在$sce.trustAsHtml(comment.text)中尝试做什么控制器中的$sce依赖项及其包含的库至少在fiddle中看不到吗?我得到一个成功的回调,控制台日志也在工作。我只是无法再访问$scope.commentText。如果我在控制台中记录它,它总是空的。就在函数开始工作之前。顺便说一句,$sce将转义字符串,因为应该添加HTML$sce在controller dependency和santize library中,必须已加载请参见您的控制台,您可能会遇到一些错误。这听起来不是正确的方法。一般来说,jQuery不应该与Angular一起使用来执行Angular的任务。您是对的,但我在其他一些问题上发现范围和文本区域存在问题。您知道吗关于如何用角型来实现这一点?