недавно я мигрировал мою угловую версию 1.2 до 1.5.xдвусторонний связывают изолированную область не работает в пользовательской директиве - AngularJS
я столкнулся вопросом, где отдельные элементы сферы применения не являются обязательным в пользовательской директиве. Я не могу видеть $scope.menuitems
при отладке, что вызывает menu.menuitems
как «undefined
».
Directive:
angular.module('myapp')
.directive('menuSelect', menuSelect);
function menuSelect() {
var directive = {
link: linkFunc,
controller: menuselectController,
controllerAs: 'menu',
restrict: 'A',
replace: true,
bindToController: true,
require: '^form',
scope: {
menuitems: '=',
showError: '=',
ismenuSelectionAllowed: '=',
onMenuitemChange: '&',
},
templateUrl: 'scripts/NavMenu/menuSelect/menuSelect.html'
};
return directive;
function linkFunc(scope, el, attr, frm) {
var menu = scope.menu;
menu.menuForm = frm;
menu.selectmenu = function() {
menu.menuSelectionChanged();
};
}
}
menuselectController.$inject = ['$scope', '$filter'];
function menuselectController($scope, $filter) {
var menu = this;
var watcher2, categories = null;
menu.menuitems = $scope.menuitems; //I'm seeing the $scope doesn't bind the isolated elements.
menu.filter = null;
menu.selected = null;
menu.addFeature = addFeature;
menu.removeFeature = removeFeature;
-----
-----
}
HTML, где директива звонит:
<div data-menu-select data-menuitems="menuitems" data-show-error="formAction=='Submit'"
data-is-menu-selection-allowed="menuSelectionAllowed"
data-on-menuitem-change="featureChanged()"></div>