에서보기 모델의 함수를 호출 할 수 없습니다 콘솔은 말한다 :이 <content> 요소
Uncaught Error: save is not a function
getFunction @ aurelia-binding.js:1971
evaluate @ aurelia-binding.js:1565
callSource @ aurelia-binding.js:4989
(anonymous function) @ aurelia-binding.js:5013
handleDelegatedEvent @ aurelia-binding.js:3211
그러나 잘 작동 #btn3
outter는 버튼을 누릅니다. 또한 을 #btn2
에 시도했지만 작동하지 않습니다. 어떤 생각?
app.html
<create-location contact.two-way="contact" working-time.two-way="workingTime">
<require from="dist/component/working-time"></require>
<working-time title="Working Time" view-model.ref="workingTime"></working-time>
<require from="dist/component/contact"></require>
<contact title="Contact" phone="123" email="[email protected]" fax="123456" view-model.ref="contact"></contact>
<button id="btn1" type="button" click.delegate="save()">Save (=>error<=)</button>
<button id="btn2" type="button" click.delegate="$parent.save()">Save (=>error also<=)</button>
</create-location>
생성-location.html
<template>
<button id="btn3" type="button" click.delegate="save()">Save (=>it works<=)</button>
<content></content>
</template>
생성-location.js
import {bindable} from 'aurelia-framework'
export class CreateLocationCustomElement {
@bindable contact;
@bindable workingTime;
save() {
alert("save");
}
}
업데이트 나는 Fabio의 제안과 it works을 시도했다.
또 다른 질문 : aurelia dialog 봐, 그들은 내 경우와 유사 <content>
요소 내부 뷰 - 모델의 testDelegate
함수를 호출합니다. 그들은 view-model.ref
을 사용하지 않습니다. 소스 코드를 살펴 보지만 그 호출을 처리하는 위치를 찾지 못했습니다. 어쩌면 나는 어떤 점을 놓치거나 여기에 규칙이있다. 아무도 그들이 어떻게하는지 압니까?
create-location 페이지는 서버의 미리 렌더링 페이지이므로 aurelia가 브라우저의 전체 페이지 (바인딩, 사용자 정의 구성 요소 사용)를 제어하기를 원하기 때문에 create-location' 구성 요소를 만듭니다 아우렐 리아 강화 기능을 사용하십시오 ([더 자세한 정보보기] (https://gist.run/?id=bd69d7b81db72ce2f158819113c88f2d)). 이것이 올바른 방법인지 아닌지 궁금합니다. 이런 식으로 해본 적이 있습니까? Btw, [aurelia 대화] (https://github.com/aurelia/dialog)를보십시오. 그들은'testDelegate' 함수를 가지고 있지만 어떻게 할 수 있는지 모르겠습니다. 그들은'view-model.ref'를 전혀 사용하지 않습니다. – drakid