我想制作一个自定义指令,根据传递的模型进行决策。我跟着一个看起来很像我想要做的例子,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 –