具有角度的UI-Ace自动完成

时间:2016-02-02 11:24:33

标签: angularjs ace-editor

我已经添加了ui-ace编辑器,一切正常。现在我尝试添加自动完成功能:我添加了ext-language_tools.js文件,但它显示错误:

  

"未捕获的ReferenceError:未定义ace。 (匿名功能)   EXT-language_tools"

我的html页面如下所示:

<div ui-ace="{ onLoad : aceLoaded, mode: 'gherkin', theme: 'chrome', require: ['ace/ext/language_tools']}" ng-model='scenario.StepsLine' join-steps-array style="height : 200px"></div>

和ace加载的功能:

$scope.aceLoaded = function(_editor){
    // Editor part
    var _session = _editor.getSession();
    var _renderer = _editor.renderer;

    _editor.setOptions({
        minLines: 10,
        maxLines: 40,
        wrap: true,
        firstLineNumber: 1,
        enableBasicAutocompletion: true,
        enableSnippets: true,
        enableLiveAutocompletion: true
    })
};.

同样在控制台中我有关于

的警告
  

拼写错误的选项&#34; enableSnippets&#34;   拼写错误的选项&#34; enableLiveAutocompletion&#34;

但我猜它是未连接的ext-language_tools的结果。

Angular成功找到所有需要的文件:

<script src="/Content/app/common/ace/ext-language_tools.js"></script>
<script src="/Content/app/common/ace/ace.js"></script>
<script src="/Content/app/common/ace/mode-gherkin.js"></script>
<script src="/Content/app/common/ace/theme-chrome.js"></script>
<script src="/Content/app/common/ace/theme-twilight.js"></script>
<script src="/Content/app/common/ace/ui-ace.js"></script>
<script src="/Content/app/common/ace/snippets/gherkin.js"></script>

2 个答案:

答案 0 :(得分:1)

需要在ace.js之后添加

ext-language_tools.js,否则在尝试访问ace全局变量时会抛出错误。
可以跳过模式和主题脚本,因为ace会自动添加它们。

答案 1 :(得分:0)

除了包含 angular-ui-ace / ui-ace.js (UI Ace文件)

您是否包含以下文件?

  • <强> ACE-建立/ SRC-noconflict / ace.js

  • <强> ACE-建立/ SRC-noconflict / EXT-language_tools.js