親コントローラーのスコープオブジェクトからのいくつかの変数を含む分離されたスコープで動作するディレクティブを取得するために、Angular docs に正確に従いました。
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 を使用する必要があると他の人が言っているのを見たことがあります..しかし、angularのディレクティブドキュメントはそれについて何も述べていません..そして、私は本当に些細なことに $scope.watch を使用したくありません箱から出してすぐに動作するはずです。