次のコードは、アプリケーション内でテストされていないため、慎重に使用する必要があります。
undefined
テンプレート内の可能な値を置き換えるための可能な解決策は、上書きするEmber.getPath
ことです。これは、テンプレート内のパスの値を検索するために使用されます。http ://jsfiddle.net/pangratz666/hKK8p/を参照してください。
var getPath = Ember.getPath;
Ember.getPath = function(obj, path) {
var value = getPath(obj, path);
return (Ember.none(value) ? 'OMG %@ is not defined!!'.fmt(path) : value);
};
このコードがアプリケーションで一時的undefined
に使用される場合は、値のチェックも特定のに制限しますobj
。だからそれらの線に沿って何か:
App.objectWhichHasUndefinedProps = Ember.Object.create({
...
});
Ember.View.create({
templateName: 'templateWithAttributes',
objBinding: 'App.objectWhichHasUndefinedProps'
}).append();
var getPath = Ember.getPath;
Ember.getPath = function(obj, path) {
var value = getPath(obj, path);
if (obj === App.objectWhichHasUndefinedProps) {
return (Ember.none(value) ? 'OMG %@ is not defined!!'.fmt(path) : value);
}
return value;
};