我创建了两个指令:
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">
如何在没有范围的情况下获取属性值?
这些指令不一定会结合使用。
答案 0 :(得分:17)
根据您的代码,您不需要隔离范围来获取属性值。只需使用:
directivesModule.directive("capital", function ($parse) {
return {
link: function (scope, element, attrs) {
// get attrs value
attrs.capital
}
}
})