Я использую директиву Code Mirror для форматирования текстовых областей в качестве кода.Как использовать переменную для передачи объектного ключа в Угловую директиву?
Что работает:
<textarea ui-codemirror type="textarea" ng-model="x"></textarea>
Вы можете установить опции вверх, как так
<textarea ui-codemirror="editorOptions" type="textarea" ng-model="x"></textarea>
и в вашем контроллере:
$scope.editorOptions = {
name: 'javascript',
json: true,
smartIndent: false,
tabSize: 2,
lineWrapping : true,
lineNumbers: true,
mode: 'javascript'
}
Что не работает:
Я пытаюсь динамически изменять editorOptions на основе другой части модели (я поддерживаю Javascript и Markdown).
Так что я пытаюсь это:
$scope.editorOptions = {
json: {
name: 'javascript',
json: true,
smartIndent: false,
tabSize: 2,
lineWrapping : true,
lineNumbers: true,
mode: 'javascript'
},
markdown: {
name: 'markdown',
json: false,
smartIndent: false,
tabSize: 2,
lineWrapping : true,
lineNumbers: true,
mode: 'markdown'
}
};
, а затем это в HTML:
<select ng-model='editorType' required ng-options='option.value as option.name for option in editorTypes'></select>
<textarea ui-codemirror="editorOptions[editorType]" type="textarea" ng-model="x"></textarea>
Мой вопрос это- Как я могу использовать значение выбора модели (editorType) в указать, какой объект опций используется в директиве mirror?
Я попытался
<textarea ui-codemirror="editorOptions.[editorType]" type="textarea" ng-model="x"></textarea>
<textarea ui-codemirror="editorOptions[$scope.editorType]" type="textarea" ng-model="x"></textarea>
все безрезультатно.
Кто-нибудь знает, как правильно это сделать?
Многие, огромное спасибо!
Update Я считаю, что это правильный синтаксис:
ui-codemirror="editorOptions[editorType]".
Я думаю, что есть проблема с директивой не понимая переменную изменилась.
может у поделиться скрипку или plunker демо –
Я считаю, что проблема может быть директива не знает, что переменная $ scope.editorType изменилась. –
@Hairgami_Master Я думаю, что вы, скорее всего, лаяете по правильной попытке удачи. – shaunhusain