我想根据需要从另一个html文件加载html,代码如下:
App.MainView = Ember.View.extend({
template:function(){
$.ajax({
url: 'views/main.html',
dataType: 'text',
async: false,
success: function (res) {
returnnow(res);
}
});
function returnnow(res){
return Ember.Handlebars.compile(res);
}
}
});
但它什么也没有返回..可能是发给了ajax的异步字符。
我不能用Ajax包装View,因为我首先要在调用视图时加载它。
任何想法如何执行此操作?
答案 0 :(得分:2)
你没有得到任何东西,因为你的template
函数没有返回任何内容。您需要像这样更改代码:
App.MainView = Ember.View.extend({
template: function(){
var result;
$.ajax({
url: 'views/main.html',
success: function(data) {
result = Ember.Handlebars.compile(data);
}
});
return result;
}
});