我正在使用角度1.6的Monaco编辑器,在我的UI中,我有不同的标签(如[this] [1]示例)指向不同的html页面。
[1]:https://www.w3schools.com/howto/howto_js_tabs.asp我正在使用摩纳哥编辑器,但问题是如果我在其他标签中申请其他选项卡,则仅对第一个标签应用(集成)到项目(文本/文本框)比起它没有出现的第一个,这是我的代码中的一点,只是为了得到一个想法。
angular.module('sample').config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/', {
templateUrl: '/',
controller: 'MainCtrl'
}).when('/sample1', {
templateUrl: '/sample1',
controller: 'sample1Ctrl'
}).when('/sample2', {
templateUrl: '/sample2',
controller: 'sample2Ctrl',
}).when('/sample3', {
templateUrl: '/sample3',
controller: 'sample3Ctrl'
}).when('/sample4', {
templateUrl: '/sample4',
controller: 'sample4Ctrl'
}).otherwise({
redirectTo: '/'
});
}]);
angular.module('sample').controller('TabCtrl', function ($scope) {
$scope.tabs = [
{
slug: 'sample1',
title: "Register sample1",
content: "sample1"
},{
slug: 'sample2',
title: "Register sample2",
content: 'sample2'
},
{
slug: 'sample3',
title: "Get sample3",
content: "sample3"
},
{
slug: 'sample4',
title: "Register sample4",
content: "sample4"
}
];
});
这就是我在控制器中使用Monaco编辑器的方式
$scope.experimentConfigEditor = monaco.editor.create(document.getElementById('experimentText'), {
value: '',
language: 'json',
minimap: {
enabled: false
}
});
$scope.newExperimentConfigEditor = monaco.editor.create(document.getElementById('newExperimentText'), {
value: '',
language: 'json',
minimap: {
enabled: false
}
});
$scope.getConfigFromDatalensTextEditor = monaco.editor.create(document.getElementById('getText'), {
value: '',
language: 'json',
minimap: {
enabled: false
}
});
这是示例html文件
<div id="experimentText" name="experimentText" style="width:600px;height:200px;border:1px solid grey" ng-show="experimentText" ng-model="formData. experimentText"></div>
所以,如果我在第一个标签中使用Monaco控制器,那么只有Monaco会被应用,否则它不起作用html元素将作为一个简单元素出现,而不是在UI中使用Monaco编辑器。