我正在努力在控制器之间使用angularjs中的服务方法共享数据。从stackoverflow上的某个地方我得到了这个工作代码(对不起,我想念原始资源)并且我对它进行了扩展。
(更新版本:http://jsbin.com/hadegec/5/edit?html,js,output)
一切正常,原始来源,将商品添加到购物车,总价格在CartCtrl中更新。
我尝试用非常简单的消息扩展它。虽然物品观察者工作得非常好,但我的新消息卡的观察者却无法正常工作。我真的看不到项目更新和我的新消息测试之间的区别。它必须是观察者,因为如果我在$scope.messageCart
内设置item-watcher (console.log("w-Items:"+Order.getmessage());
我总是得到正确的字符串......
有什么想法吗?
答案 0 :(得分:0)
解决方案是:
$scope.ordernewmessage = Order.getOrderMessage();
$scope.$watch('ordernewmessage ', function() {
<强> $scope.$watch(function(){return Order.message;}, function(){
强>
我不明白的最后一件事是数组属性'items'和字符串propery'message'之间的区别。我不明白,为什么'$ scope.itemsCart'对'Order.items'的引用被检测为更改,而'$ scope.ordernewmessage'设置为这样; '$ scope.ordernewmessage = Order.getOrderMessage()'未更改......