2

https://github.com/angular-ui/ui-codemirror

我需要用角度制作语法荧光笔并将结果保存在数据库中。

我正在使用 ui-codemirror,但每次更改文档中的“pre”时,我都无法刷新文本区域

<textarea ui-codemirror ng-model="x" ui-refresh='isSomething'></textarea>

但我不能让它工作。

有人知道如何做到这一点吗?

4

2 回答 2

10

我有同样的问题,暂时无法找到解决方案。

一旦范围变量/函数返回 true,就会更新 CodeMirror 实例。这可以通过对正在显示的值进行计算的函数来确定,但在我的代码段中,我的数据是根据广播事件的结果更新的。我将要检查的范围变量设置为 true,然后稍作延迟,将其改回 false。

$scope.$on(ART_EVENTS.updateOverview, function (event, data) {
    $log.info("received overviewData in articleController.");

    // do stuff with the data
    // ...

    $scope.refreshCodemirror = true;
    $timeout(function () {
      $scope.refreshCodemirror = false;
    }, 100);
});

然后在视图中:

<textarea ui-codemirror ng-model="x" ui-refresh='refreshCodemirror'></textarea>

我确实意识到可能有更好的解决方案,但这可以满足我的需要。

于 2014-07-30T15:34:31.157 回答
0

十分感谢。我是一个 angularJS 菜鸟,我解决了它。对于其他新手。确保预先注入 $timeout。

于 2019-07-04T11:42:29.823 回答