小编典典

角度$ scope变量未更新

angularjs

我定义了一个范围变量$scope.letter_content。加载视图时,我从数据库加载字符串并将其设置为$scope.letter_content。然后,我在正在使用的texteditor(Froala)上进行填充。

下面是该视图的代码:

    {{letter_content}}
    <div ng-if="formData['page_number'] == 1 ">
        {{letter_content}}
        <textarea id="froala-sample-2" froala="froalaOptions" ng-model="letter_content"></textarea>
    </div>

所以基本上我将letter_contenttexteditor 设置为ng-
model。因此,当我对文本编辑器进行更改时,它会修改值$scope.letter_content

我发现这很奇怪的一件事是,当我在texteditor中修改文本时,它{{letter_content}}在div内发生了变化。但是,它不会{{letter_content}}在div之外更新。

编辑完文本编辑器中的文本后,我发送发送放置请求以使用来更新数据库中的值$scope.letter_content。但是,它最终{{letter_content}}在div外部发送,最终导致不更新内容。

为什么发生这种奇怪的事情?


阅读 238

收藏
2020-07-04

共1个答案

小编典典

实际上,已经在更多链接中对此进行了讨论。

不要使用原始类型变量。而不是在范围内使用对象。

例如,不要使用like $scope.primitiveVariale代替$scope.object={primitiveVariale:null}

因此,在这样的视图使用中,object.primitiveVariale这将反映在所有视图中。请查看以下链接。

https://github.com/angular/angular.js/wiki/Understanding-
Scopes

2020-07-04