次のコードは、アプリケーション内でテストされていないため、慎重に使用する必要があります。
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;
};