Javascript 将字符串传递到需要双向绑定的自定义隔离作用域指令

Javascript 将字符串传递到需要双向绑定的自定义隔离作用域指令,javascript,angularjs,angularjs-directive,scope,Javascript,Angularjs,Angularjs Directive,Scope,我有一个简单的自定义隔离作用域按钮指令,需要使用双向数据绑定,以便动态更新 scope:{ buttonLabel: "@?", buttonIcon: "@?", buttonClass: "=?", ngDisabled: "=?", onButtonClicked: "&?" }, 当在开发人员的控制器中定义值时,这对于动态更新ng disabled和button类非常有用,但当定义静态值时,它仅按如下方式工作:

我有一个简单的自定义隔离作用域按钮指令,需要使用双向数据绑定,以便动态更新

scope:{
      buttonLabel: "@?",
      buttonIcon: "@?",
      buttonClass: "=?",
      ngDisabled: "=?",
      onButtonClicked: "&?"
  },
当在开发人员的控制器中定义值时,这对于动态更新ng disabled和button类非常有用,但当定义静态值时,它仅按如下方式工作:

 <dropdown-button button-label="click me" button-class="'secondary'"></dropdown-button>
那里没有''

从我在网上看到的情况来看,似乎需要单引号。我只是想确认一下。如果用户需要单引号,那么这并不是世界末日


谢谢

如果您的作用域中有一个名为secondary的变量,它将获取该变量的值,并将其放入属性中。因此,如果您将有例如scope.secondary=“secondary”,您可以编写按钮class=“secondary”。如果您只需要将其作为硬编码字符串b,则应使用@.Ok yea,这样做与执行此操作相同。class=“secondary”,然后执行button class=“ctrl.class”,现在可以使用。我只是好奇我是否错过了一些尝试传入硬编码字符串的内容:button class=“secondary”使用“=”作为隔离作用域否,但我认为如果您在属性中写入硬编码为字符串的内容,您应该将其作为@,这样您就不必执行诸如“secondary”之类的操作,只需编写“secondary”:)对,但如果我使用“@”然后,我失去了动态更改button类的双向绑定,这是一个需求。如果我不需要双向绑定,那么我肯定会这样做。如果你在你的作用域上有一个名为secondary的变量,它将接受该变量的值,abd将把它放在属性中。因此,如果您将有例如scope.secondary=“secondary”,您可以编写按钮class=“secondary”。如果您只需要将其作为硬编码字符串b,则应使用@.Ok yea,这样做与执行此操作相同。class=“secondary”,然后执行button class=“ctrl.class”,现在可以使用。我只是好奇我是否错过了一些尝试传入硬编码字符串的内容:button class=“secondary”使用“=”作为隔离作用域否,但我认为如果您在属性中写入硬编码为字符串的内容,您应该将其作为@,这样您就不必执行诸如“secondary”之类的操作,只需编写“secondary”:)对,但如果我使用“@”然后,我失去了动态更改button类的双向绑定,这是一个需求。如果我不需要双向绑定,那么我肯定会这样做。
 button-class="secondary"