angularjs - 在 Angular 1.5 中,如何将属性组件绑定(bind)为 bool 值?

标签 angularjs angularjs-directive binding components angularjs-components

我想知道在 Angular 1.5 中,当您使用组件时,是否有一种简单的方法可以绑定(bind)一个 bool 属性而不用 @ 转换为字符串。

例如,我有两个组件“app-menu”和“app-menuitem”没有嵌入。 “app-menu”只有一个属性,它是要创建“app-menuitem”的项目列表。

<app-menu items="menuitems">

在作为 json 的菜单项中,您有一个名为“isactive”的菜单项属性,它是一个 bool 值。
$scope.menuitems = [{ label : 'menuitem 1', isactive : true},{ label : 'menuitem 1', isactive : false}]

在 menuitem 组件中:
angular.module('app')
    .component('appMenuitem', {
      transclude: false,
      controller: menuitemController,
      bindings: {
        label: '@',  
        isactive: '@' //<--- The problem is here because the boolean is converted as string
      },
      templateUrl: 'angular/components/simple/menuitem/menuitem.html'
    });

我不知道最后确定的最好方法是一个真正的 bool 值,而不是一个让我产生一些错误的字符串。有人有想法吗?

最佳答案

从 Angular 1.5 开始,您可以使用 < & @单向绑定(bind)。这两者之间的主要区别是<能够将具有其原始数据类型的对象传递给组件。

isactive: '<'

关于angularjs - 在 Angular 1.5 中,如何将属性组件绑定(bind)为 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36667178/

相关文章:

javascript - AngularJS:使用从输入中获取的两个参数过滤结果

php - AngularJS 在 http 之后在 ng-repeat 中更新单个模型

javascript - 如何使用angularjs在visjs中添加放大缩小按钮?

binding - SSL 主机头 ip 的服务器绑定(bind)设置为 255.255.255.255

c# - 如何将VM中的可为空 bool 值绑定(bind)到RadRadioButton

javascript - Angular ng-repeat 中的 Json 字符串不起作用

Angularjs:使用子指令设置父指令范围值

javascript - 在 Angular 指令中的对象上设置新属性以在 Controller 中使用

javascript - 使用 AJAX 调用更新的出厂值同步指令数据

c# - 集合类型附加属性