我创建了两个指令:

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

    }
}
})

10-06 00:11