controller:
service.checkSub(function(data){
$scope.showSub = data.subscribe? false : true;
})
directive:
app.directive('showSub', function() {
return {
restrict: 'E',
replace: true,
scope: {
showSub: '=show'
},
templateUrl: '<div data-ng-show="show">test</div>',
link: function(scope, element, attrs) {
console.log(scope.showSub); // undifined
if(scope.showSub) {
scope.show = true;
}else {
scope.show = false;
}
}
}
});
<show-sub show="showSub"></show-sub>
なぜディレクティブでscope.showSubは未定義ある、と私はディレクティブを制御するためにそれを使用したいですか?私はそれをどうすればいいのですか?
これは 'templateUrl'の代わりに' template'でなければなりません、いいえ? – developer033
コントローラーの内部には「サービス」とは何ですか?それはangularjsサービスですか? 'checkSub'関数の目的は何ですか?それは 'サービス'の機能ですか? –
** $ scope.showSub = true; **のようなディレクティブの親コントローラに値を与えようとすると、console.log(scope.showSub)というディレクティブでその値が得られます。そのため、あなたの指示はサービスに問題はありません –