【问题标题】:Angular binding to square bracket notation property with a space带有空格的方括号符号属性的角度绑定
【发布时间】:2015-01-08 01:27:37
【问题描述】:

是否可以使用访问属性的方括号表示法以角度绑定到属性。例如(使用伪代码)。

<script type="text/javascript">
    var object = { };
    object["my property"] = 3;
</script>
<input ng-model="object['my property']" />

我知道支持方括号表示法,但似乎没有办法绑定到其中包含空格的属性。

虽然这只是伪代码,但我们在 Angular 中收到的具体错误是:“未捕获的错误:语法错误,无法识别的表达式:select[ng-model='ticket.Properties['assigned to']']”。

编辑:找到解决方案。外用单引号,内用双引号:

<input ng-mode='myObject["my property"]' />

【问题讨论】:

    标签: javascript angularjs binding


    【解决方案1】:

    这绝对有可能,看我这里创建的sn-p。

    我只是将初始化代码移到了控制器中。

    var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope) {
      $scope.object = {};
      $scope.object['my property'] = 3;
    });
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    <div ng-app="myApp">
      <div ng-controller="myCtrl">
        <input ng-model="object['my property']" />
        <pre>{{object|json}}</pre>
      </div>
    </div>

    【讨论】:

    • 我们的设置与此类似,但是我们收到的错误是“未捕获的错误:语法错误,无法识别的表达式:select[ng-model='ticket.Properties['assigned to']' ]" 并且在我们的 JS 中有 $scope.ticket = { Properties: {}}; $scope.ticket.Properties["分配给"] = "";
    猜你喜欢
    • 2018-11-16
    • 2017-08-16
    • 2023-03-20
    • 2019-07-30
    • 2014-11-26
    • 2017-09-03
    • 2015-08-13
    • 1970-01-01
    • 2017-07-13
    相关资源
    最近更新 更多