我有Aurelia - ASP.NET核心2模板项目..您可以从GITHUB下载它并运行它来验证错误。
我发现了重大更改,直到我在navmenu.html中发现错误而未识别出某个功能。
我回到模板并进行了快速测试,并在基本模板中发现了相同的错误。
我在原始解决方案上注册了this问题并遇到了同样的问题,但现在已经意识到它与我得到的实际Aurelia模板有关。所以我已经将整个项目上传到github,所以有人可以看到整个项目。
要解决此错误,我所做的就是在navmenu上创建一个函数,并使用" click.deligate"在按钮上引用该函数。这是navmenu.html:
<template bindable="router">
<require from="./navmenu.css"></require>
<div class="main-nav">
<div class="navbar navbar-inverse">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#/home">Jobsledger.API</a>
</div>
<div class="clearfix"></div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li repeat.for = "row of router.navigation" class="${ row.isActive ? 'link-active' : '' }" >
<a href.bind = "row.href">
<span class="glyphicon glyphicon-${ row.settings.icon }"></span> ${ row.title }
</a>
</li>
</ul>
</div>
</div>
</div>
<div>
<h1>Counter</h1>
<p>This is a simple example of an Aurelia component.</p>
<p>Current count: <strong>${currentCount}</strong></p>
<button click.delegate="incrementCounter()">Increment</button>
</div>
这是viewmodel.ts文件
import { autoinject } from "aurelia-framework";
@autoinject
export class Navmenu {
//loggedInService: LoggedInService;
public currentCount = 0;
public incrementCounter() {
this.currentCount++;
}
}
错误是:
aurelia-binding.js:1905 Uncaught Error: incrementCounter is not a function
at getFunction (aurelia-binding.js:1905)
at CallScope.evaluate (aurelia-binding.js:1508)
at Listener.callSource (aurelia-binding.js:5082)
at Listener.handleEvent (aurelia-binding.js:5091)
at HTMLDocument.handleDelegatedEvent (aurelia-binding.js:3223)
正如我所说,有一个有效的asp.net核心解决方案,其中包含spa,可以从github下载。
如果有人能在这里帮助我,那将是很棒的,因为这对我来说是一个显示阻碍。
答案 0 :(得分:1)
您只需将 navmenu 作为模板,例如<require from="../navmenu/navmenu.html"></require>
。要使用您的javascript使用您的视图,请参阅此guide有关自定义元素。