Angular ディレクティブで分離されたスコープを理解するのに問題があります。公式ドキュメントを読み、この件に関する多くのビデオを見たので、それらの目的はわかりましたが、それらの使用方法はわかりません。
簡単な例を次に示します。
というディレクティブを作成しましたsearchBox
(完全なソースとデモを参照)
var myApp = angular.module('myApp', []);
myApp.directive('searchBox', function($timeout) {
return {
restrict: 'A',
scope: true,
link: function(scope, element) {
scope.open = false;
// Show search input
scope.showInput = function() {
scope.open = true;
// Focus the input
$timeout(function() {
element.find('input').focus();
}, 0);
};
// Hide search input
scope.hideInput = function() {
scope.open = false;
};
}
}
});
これは実際に期待どおりに機能します。ただし、ディレクティブのスコープを分離したいのですが、(完全なソースとデモscope: true
を参照)) に変更すると機能しなくなりますが、コンソールにエラーが表示されません。scope: {}
それは私が間違っている基本的なことだと確信していますが、誰かが私の目を開いてこれを理解するのを助けてくれることを本当に願っています.