저는 angularjs에서 서비스 접근 방식으로 컨트롤러간에 데이터를 공유하는 데 어려움을 겪고 있습니다. 여기 어딘가에 stackoverflow에서 내가이 작업 코드 (미안 해요, 나는 원래의 소스를 그리워) 그리고 내가 그것을 extendet 있어요.angularjs 컨트롤러간에 데이터 공유 (서비스 접근) - watcher는 호출되지 않습니다.
(updatet 버전 : http://jsbin.com/hadegec/5/edit?html,js,output)
모두 장바구니에 항목을 추가하고 총 가격이 CartCtrl에 업데이트됩니다, 원래의 소스와 잘 작동한다.
아주 간단한 메시지로 확장하려고했습니다. 그러나 아이템 워처가 잘 작동하는 동안 내 새로운 messageCart의 워처가 작동하지 않습니다. 항목 업데이트와 새 메시지 테스트의 차이점을 실제로 볼 수 없습니다. 감시자 여야합니다. 왜냐하면 제가 을 item-watcher (console.log("w-Items:"+Order.getmessage());
안에 넣는다면 항상 올바른 문자열을 얻을 수 있기 때문입니다 ...
어떤 생각이십니까?
'messageT'의 값을 절대 변경하지 않으므로'$ scope. $ watch ('messageT''? – zeroflagL
오, 안돼 .... 또한 jsbin에 testcode와 고군분투. http://jsbin.com/hadegec/5/edit?html,js,output 거의 같은 ... 메시지 T (또는 updatet 버전에서 messageCart)는 this.addToOrder = function (item) {메쏘드에 설정되어 있습니다!] 장바구니에 항목을 추가 할 때마다 메시지에 현재 시간이 표시되어야합니다 .. – kaepten
'addToOrder'에서'messageCart'를 바꾸지 않습니다. '$ scope.messageCart = Order.getmessage();'이후에는 변경되지 않으며,'Order.messageOrder'와'$ cope.messageCart' 사이에는 마법 같은 연결이 없습니다. – zeroflagL