我通过在custom / modules / myModule / clients / base / views / record / record.js中创建此文件record.js来覆盖记录视图。我想得到当前对象的字段值,我使用this.model.get(' duration'),但我什么都没得到。唯一可用的字段是" id" 。如何检索其他文件的值?
答案 0 :(得分:1)
当最初调用record.js脚本时,模型将不会完全加载,因此唯一可用的字段是id。
你最好的选择可能是覆盖_renderHtml函数;在渲染视图时,所有模型细节都将完全加载:
_renderHtml: function() {
// custom code involving this.model.get('duration')
// call parent
app.view.View.prototype._renderHtml.call(this);
}
请注意,在模型完全加载之前,您可能会发现多次调用_renderHtml。这只是Sugar的一个怪癖,因此最好在代码中添加一个检查:
if (this.model.get('duration')) {
// custom code involving this.model.get('duration')
}
答案 1 :(得分:0)
不要忘记,当您的字段已在详细视图中显示时,app.model.get('myfield')
仅提供正确的内容(来自此字段) - 否则您将获得“未定义”!
所以你
app.model.get('yourfield')
中使用它,您可以使用$('div [data-name="yourfield"]').hide();
我知道这个问题已经很老了(但如果其他人遇到这个问题,他会发现这个问题很有用)。