【问题标题】:Access nested array in Autoform method-update在 Autoform 方法更新中访问嵌套数组
【发布时间】:2016-08-01 01:10:59
【问题描述】:

我正在尝试从更新自动生成表单的方法中获取嵌套数组的值。

我有这样的架构设置...

Schema.ContactDetails = new SimpleSchema({
  orderedBy: {
      type: String,
      label: "Ordered By",
      optional: true,
  },
[...]
)};

Orders.attachSchema(new SimpleSchema({
[...]
orderDetails: {
      type: Schema.OrderDetails,
      optional: true,
      blackbox: true
  },
[...]
)};

然后我用这个设置了一个 Autoform...

{{#autoForm collection="Orders" id="updateOrderForm" type="method-update" meteormethod="updateOrder" doc=this}}
[...]
{{/autoForm}}

这就是 updateOrder 方法...

updateOrder: function (doc,doc_id) {
    check(doc, Orders.simpleSchema());
    console.log(doc);

    //Modify doc here

    Orders.update({_id: doc_id}, doc); 
  },

上面的console.log(doc); 输出如下...

{   '$set': 
    { createdBy: 'o5Wye6LLMGNXLn7HY',
        createdAt: Sat Apr 09 2016 22:15:27 GMT+1000 (AEST),
        'contactDetails.orderedBy': 'MvCun8p6vxndj3cr8',
        updatedAt: Mon Apr 11 2016 11:47:31 GMT+1000 (AEST) },
    '$unset': 
    { […]

我的问题是我需要在 updateOrder 方法中获取 'contactDetails.orderedBy' 值,但我似乎无法访问它。我已经尝试了以下...

var orderedBy = doc.$set.contactDetails.orderedBy;

调用方法“updateOrder”类型错误时出现异常:无法读取未定义的属性“orderedBy”

var orderedBy = doc.$set.'contactDetails.orderedBy';

意外的令牌错误

提前致谢

【问题讨论】:

    标签: meteor meteor-autoform


    【解决方案1】:

    在这里回答...Dynamically access object property using variable

    这里...Extract value from object using javascript

    var orderedBy = doc.$set['contactDetails.orderedBy'];
    

    【讨论】:

      猜你喜欢
      • 2015-06-22
      • 2015-01-01
      • 2016-02-13
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 2020-07-26
      • 2016-07-05
      • 1970-01-01
      相关资源
      最近更新 更多