皆さん、私はディレクティブを呼び出しており、ディレクティブにハードコードを渡していますが、渡していません。私は自分のコードで何が問題なのか分からなかった。 コード:ディレクティブの属性値が渡されていません
<div ng-controller="EmployeeController">
<off-balance user-key="18" collapse-hide="true"></off-balance>
</div>
ディレクティブコード:
App.directive('offBalance', ['OffService', 'toaster', OffBalance]);
function OffBalance(OffService, toaster,) {
var directive = {
link: link,
restrict: 'E',
templateUrl: 'app/modules/sometemplate.html',
scope: {
userKey: '=',
collapsehide: '=?',
},
scope: true
}
}
return directive;
function link(scope, element, attr) {
scope.$watch('userKey', function (newVal) {
alert("userKey" + newVal);
});
scope.$watch('collapsehide', function (newVal) {
alert("collapsehide" + newVal);
});
}
}
USERKEYとcollapsehideの両方が定義されていません
私はこのようなディレクティブ何かを呼び出しています。
我々は両方のスコープを使用することができますどのような方法があるの内側に
return directive
をする必要があります? –いいえ、できません。両方のスコープには独自の意味があります。 'scope:true'ディレクティブが新しいスコープを取得し、' scope:{} 'と書くと、ディレクティブは新しい独立スコープを取得します。 – varit05