【问题标题】:AngularJS input value as array not matching modelAngularJS输入值作为数组不匹配模型
【发布时间】:2016-05-27 14:16:31
【问题描述】:

我正在构建一个按框排序来帮助对我的 ng 重复数据进行排序。

我的排序框目前如下所示:

<select name="day" ng-model="Events.orderAttraction" data-ng-change="Events.limit = 6">
    <option value="['!rating', '-rating']">Rating (high to low)</option>
    <option value="rating">Rating (low to high)</option>
    <option value="name">Attraction (a-z)</option>
    <option value="-name">Attraction (z-a)</option>
</select>

我的控制器中的订单变量当前是:

vm.orderAttraction = ["!rating", "-rating"];

由于我的第一个选项值与我的选择框链接到的模型值完全相同,因此它应该在页面加载时默认为该值。相反,我在哪里? object:5 ?(空白选项)我的选择框加载到页面上。

我感觉 Angular 将我的选项值作为一个字符串而不是一个数组来获取,因此它与模型值不匹配。但我似乎无法解决这个问题。

感谢您的帮助。

【问题讨论】:

    标签: javascript arrays angularjs angular-ngmodel angularjs-ng-model


    【解决方案1】:

    来自https://docs.angularjs.org/api/ng/directive/ngOptions

    ngOptions 应该在模型需要绑定到非字符串值时使用。这是因为选项元素目前只能绑定到字符串值。

    【讨论】:

    • 啊,那太糟糕了。我下周上班试试。如果有效,我将标记为正确答案。
    • 我可以想象您可以使用JSON.parseJSON.stringify 将另一个解决方案拼凑在一起来来回转换,但我认为这比处理@987654324 更复杂@.
    猜你喜欢
    • 1970-01-01
    • 2015-12-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多