Я внимательно следил за Angular docs, чтобы получить директиву, работающую с изолированной областью, содержащей пару vars из объекта scope родительского контроллера.Почему моя угловая директива не позволяет охватить диапазон родительского контроля внутри изолированного пространства?
app.controller('MainCtrl', function($scope) {
$scope.name = 'Parent Name';
$scope.pokie = {
whyIs: "thisUndefined?"
};
});
app.directive('parseObject', function() {
var preLink = function($scope, el, att, controller) {
console.log('[link] :: ', $scope);
};
var postLink = function($scope, el, att, controller) {
console.log('[PostLink] :: ', $scope);
console.log('[$Parent] :: ', $scope.$parent.name);
};
return {
restrict: 'E',
scope: {
myPokie: '=pokie',
name: '=name'
},
template: [
'<div>',
'<h1>Directive does not get parent scope</h1>',
'<h1>{{ myPokie }}</h1>',
'<h2>{{ name }}</h2>',
'</div>'
].join(''),
compile: function() {
return {
pre: preLink,
post: postLink
}
}
}
});
http://plnkr.co/edit/FpQtt9?p=preview
Может кто-нибудь сказать мне, что случилось с моим кодом? Почему область Isolate в директиве возвращает неопределенные значения для «myPokie» и «name»?
Я видел, как другие люди говорят, что вы должны использовать $ scope.watch для этого .., но директивные документы угла не говорят об этом. И я действительно не хочу использовать $ scope.watch для что-то настолько тривиальное, что должно работать из коробки.
Спасибо, ваш предпочтительное короткий ответ :) – andygoestohollywood
@andygoestohollywood Рад помочь вам man..Thanks .. :) –
Можно ли получить эти значения из области контроллера в изолированный объем директивы без определения их снова в коде html директивы? чувствует избыточность, когда я просто хочу использовать некоторые vars из области контроллера в директиве ... –
user1383029