私が作成したDirectiveからclickイベントで更新できるように、アプリケーションコントローラで定義されたスコープ変数にアクセスしようとしていますが、グローバルにアクセスできないスコープを分離したスコープから削除します。DirectiveからAngularJSスコープにアクセスする
スコープ変数(currentTitle)に定義される:
app.controller('news', function($scope, $http, $timeout) {
$scope.promise = $timeout(function() { //This is here just to mock the asynchronous loading of the data
$scope.articles = [{
title: 'Article 1',
content: 'It works!'
}, {
title: 'Article 2',
content: 'It still works'
}]
}, 3000);
$scope.currentTitle = "my - title";
$scope.showDetails = false;
});
とディレクティブで定義された範囲である:ここで
scope: {
//bind the showDetails into the scope so it can be seen by all of the accordion elements
promise: '&?',
currentTitle: '=?',
showDetails: '=?bind'
}
は、すべてのコードが含まれてcodePenある:http://codepen.io/valecarlos/pen/bpmryw
私がやりたいことは、タイトルの1つがクリックされたときにヘッダータイトルを更新することです。今は、スコープのでアップデートをハードコードしようとしています変数と$apply
- ディレクティブでclickイベントが挿入されていますが、ヘッダーのタイトルに反映されていません。
ありがとうございました!
ありがとうございました!私はcurrentTitleを '='に設定しようとしましたが、HTMLタグの定義が完全に欠落していました。 – randomguy04