存在しないものに「取得」を使用するバインディングの式がある場合、関数 'myFunction'は計算されません。エラーはスローされません(これは残念ですが)、少なくともこのコンポーネントをバインドするコンポーネントには何も表示されません。本当に奇妙である何ExtJSバインディングはコメントアウトされたコードを無視しますか?
Ext.define('MyModel', {
extend: 'Ext.app.ViewModel',
formulas: {
myFunction: function(get) {
var fdn = get('fullDisplayName') ? get('fullDisplayName'): "";
var code = get('this.is.something.that.does.not.exist') ? get('this.is.something.that.does.not.exist'): "";
return fdn + code;
},
fullDisplayName: function(get) {
var title = get('ref_mainApplicantTitle.selection.text') ? get('ref_mainApplicantTitle.selection.text') : "";
var fName = get('tsk_forCase_mainApplicant_fname0') ? get('tsk_forCase_mainApplicant_fname0') : "";
var lName = get('tsk_forCase_mainApplicant_lname0') ? get('tsk_forCase_mainApplicant_lname0') : "";
return ("" + title + " " + fName + " " + lName + "").trim();
},
は、私は非existant結合を「取得」行をコメントアウトした場合、私はコメントでコードを変更した場合、それはまだ
myFunction: function(get) {
var fdn = get('fullDisplayName') ? get('fullDisplayName'): "";
//var code = get('this.is.something.that.does.not.exist') ? get('this.is.something.that.does.not.exist'): "";
return fdn + code;
},
動作しない、ということですアウトコードが存在するバインディングには、すべて正常に動作します!
myFunction: function(get) {
var fdn = get('fullDisplayName') ? get('fullDisplayName'): "";
//var code = get('fullDisplayName') ? get('fullDisplayName'): "";
return fdn + code;
},
なぜ私のコメントアウトされたコードは無視されますか?
私はこれをSenchaにバグとして提出することを考えていますが、明らかに何かが不足しているため、そこにそれを投げ捨てると思っていました。
.. .. –