我创建了两个指令:
directivesModule.directive("capital", function () {
return {
scope: {
capital: "@"
},
link: function () {}
}
})
directivesModule.directive("country", function () {
return {
scope: {
country: "@"
},
link: function () {}
}
})
接下来,在同一元素中使用它们:
<div country="Russia" capital="Moscow"></div>
结果,我得到一个错误:
Error: [$compile:multidir] Multiple directives [capital, country] asking for new/isolated scope on: <div country="Russia" capital="Moscow">
如何获得无范围的属性值?这些指令不一定要结合使用。
最佳答案
根据您的代码,您不需要隔离的作用域即可获取属性值。只需使用此:
directivesModule.directive("capital", function ($parse) {
return {
link: function (scope, element, attrs) {
// get attrs value
attrs.capital
}
}
})