我想製作一個自定義指令,根據傳遞的模型進行決策。我跟着一個看起來很像我想要做的例子,here。如何將範圍傳遞給AngularJS中的指令
最後,我通過JSON地址到指令使用此代碼段:
<div><b>Address</b>
<address-source address="company.address"/>
</div>
這是指令:
AppDirectives.directive('addressSource', function ($compile) {
var template = '<span> {{address.id}} </span>';
var getTemplate = function(scope) {
console.log("address id: " + scope.address.id);
return template;
};
var linker = function(scope, element, attrs) {
element.html(getTemplate(scope)).show();
$compile(element.contents())(scope);
};
return {
restrict: "E",
replace: true,
link: linker,
scope: {
address: '='
}
};
});
的地址是在範圍,並且{{ address.id }}
是解決。但是,當我想對它進行計算時,比如將其記錄到控制檯,出現錯誤就會顯示scope.address未定義。我究竟做錯了什麼?我看到與這個工作示例沒有任何區別。
你能在這裏重現呢? http://plnkr.co/edit/wR67opQB2EAI62rdHMv0?p=preview – tasseKATT
事實上,我做不到。我認爲它與我上面的基本相同,但它在那裏有效。即使我將版本重置爲我正在使用的版本,Angular 1.0.7和jQuery 1.11.1 –