Я новичок в angularjs и работает над директивой для выпадающего списка, но с проблемой выбора начального значения. Мне нужно передать идентификатор опции, чтобы выбрать в качестве атрибута директиву. Я устанавливаю значение атрибута в переменной области, которую я затем использую в ng-Init.Выберите опцию в раскрывающемся меню, используя директиву в angularjs
Вот моя директива код:
export class ChoiceGroup
{
constructor()
{
var directive: ng.IDirective = {};
directive.restrict = "E";
directive.replace = true;
directive.template = '<div><select name="cmbCG" ng-model="dataSel" ng-options="c.DisplayName for c in data"></select></div>';
directive.link = function ($scope: any, element: JQuery, attributes: any) {
var injector = angular.element(document).injector();
var key = attributes.key;
var cgCacheService: ChoiceGroupsCacheService;
seCGCacheService = injector.get('seChoiceGroupsCacheService');
var values: Array<ChoiceValue>;
values = seCGCacheService.GetChoiceValues(key);
$scope.data = values;
if (attributes.selectedvalue) {
$scope.selectedvalue = values[attributes.selectedvalue];
}
}
return directive;
}
Код в машинописи. Вот HTML:
<choicegroupcombo key="RecurrenceFrequency" selectedvalue="3"></choicegroupcombo>
Если я жёстко значение dataSel т.е. нг-INIT = «dataSel = 3», то он работает нормально, но когда я ставлю в области видимости переменных, то он не работает. Итак, как я могу исправить проблему.
EDIT Решенный. Я обновил код соответствующим образом.
Что фактическая цель? Ваш код, похоже, не пытается сделать ничего, кроме обычного окна выбора. – codevinsky