2012-12-07 2 views
0

나는 angularJS를 사용하여 동적으로 인터페이스를로드하는 웹 응용 프로그램을 작성하려고합니다.angularJS를 사용하여 동적으로 인터페이스를로드합니다. 양방향 바인딩 중단

Angular (HTML 템플릿 + 컨트롤러)의 초기 부트 스트랩 후 내 코드 일부를 부트 스트랩하는 것이 가능하다는 것을 발견했습니다. 제 문제는 양방향 데이터 바인딩이 작동하지 않는다는 것입니다. 자신에 대한 참조 :

http://plnkr.co/edit/MtAWP6

어떤 생각을? 나는 잘못된 길을 모색하고 싶습니까?

감사합니다.

답변

1

귀하의 문제는 (A bootstraping 아니다 당신이 정말로 컨트롤러의 인스턴스를 부트 스트랩을 사용하지 않아야 아니라 $가 IMO, 컴파일 있지만 - this answer 참조). 범위 문제입니다. 컨트롤러에서 "mymodel"모델을 정의한 다음 폼에서 다시 정의합니다. 각도는 자동으로 자체 범위를 만듭니다. 양식의 범위가 상위 범위에서 상속되고 모델을 "바인딩"하는 것처럼 보이지만 역 분개는 발생하지 않습니다.

두 범위 사이에 바인딩을 설정하거나 폼 컨트롤러에 for를 정의하거나 폼에 원하는 컨트롤러를 직접 할당해야합니다.

이 문제는 here 노출을 참조하십시오 (당신의 $ 제한 시간 수동 모델은 하나의 변경 설정, 두 모델을 변경하면서 해당)

는 기본적으로 오히려보다는, 생성 된 양식으로 컨트롤러를 할당하여 (이 here 해결 참조 그 양식의 묶는 div)

+0

글쎄요, 고마워요! 이제 나는 그것이 효과가 없었던 이유를 안다. –

+0

필자는 결국 컨트롤러를 사용하기 위해 동적으로 변경하기 위해 스크립트에서 컨트롤러 할당을 사용 했었습니다 ... 제가 처음에는 tought보다 더 많은 것을 쌍으로 유지해야합니다 (컨트롤러 <->보기). 결국 좋은 일. –

0

아마도 라우팅/딥 링크를 다시 한 번 살펴 봐야 할 것 같습니다. 템플릿 URL과 컨트롤러를 모두 지정할 수 있어야합니다.

체크 아웃이 video

을 그리고 API를 docs

+0

내 애플 리케이션에서 라우팅을 사용할 수 없습니다. 내가하는 일은 oters 웹 사이트 위에로드되는 CMS를 만드는 것입니다. 그래서 2 개의 URL 라우팅을 섞어서 사용할 수 없습니다 ... –

관련 문제