我正在尝试插入一个简单的视图,但在浏览器控制台中收到错误:
“您无法追加到现有的 Ember.View。请考虑使用 Ember.ContainerView”。
只有当它是一个带有 ember 模板的 Web API 项目时,我才会得到他的错误,如果我从一个新的 html 页面开始,我就不会得到它。这是我的代码。我把所有内容都放在 app.cshtml 中,这样人们更容易看到。
<script>
window.App = Ember.Application.create({
});
App.FinanceView = Ember.View.extend({
templateName: 'test',
didInsertElement: function () {
}
});
App.IndexController = Ember.ObjectController.extend({
actions: {
test: function () {
var divName = '.testFinance';
var view = App.FinanceView.create();
view.appendTo(divName);
}
}
});
</script>
<script type="text/x-handlebars" data-template-name="application">
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="index">
<div class="row">
<div class="col-md-12 testFinance" align="left"></div>
</div>
<button {{action test}}>Test</button>
</script>
<script type="text/x-handlebars" data-template-name="test">
this is from template
</script>
我终于用排除法得到了它。在 Visual Studio 中使用 ember 模板并使用 Nuget 获取 ember 时,不确定这两者中的哪一个,除了 ember.js 和 ember.min.js 之外,它还附带了一个版本的 ember 文件,即 ember.debug.js。 BundleConfig 在调试模式下使用 ember.debug 版本,无论出于何种原因,这个版本的 ember 都会抛出错误,而其他两个版本则不会。