を結合しませんページを読み込むと、この関数が起動します。角度指令テンプレートは、私はそうのように私のアプリのディレクティブを持っている...私は把握することはできません好奇心ケースを持っている角度コントローラに</p> <p>を変数
if(localStorage.getItem("cart") != null)
{
console.log("makeacart");
var cart = JSON.parse(localStorage.getItem("cart"));
$scope.cartQTotal.total = 0;
for(i=0;i<cart.length;i++)
{
$scope.cartQTotal.total += cart[i].cartQ;
}
$('.fixed-cart').animateCss('bounce');
}
これは機能します。
しかし、私は(たとえば、まだ親のコントローラではなくng-click()
由来)などの関数のように、この外$ scope.cartQTotalを変更した場合://The Number I Want
ラインで
$scope.add2Cart = function(name){
var cart = JSON.parse(localStorage.getItem("cart"));
for(var zz = 0;zz<cart.length;zz++)
{
if(cart[zz].item == name)
{
console.log("already in cart");
$('.fixed-cart').animateCss('bounce');
return;
}
}
cart.push({item:name,cartQ:1});
localStorage.setItem("cart", JSON.stringify(cart));
console.log("makeacartii");
$scope.cartQTotal.total = 0;
for(i=0;i<cart.length;i++)
{
$scope.cartQTotal.total += cart[i].cartQ;
}
console.log($scope.cartQTotal.total);//THE NUMBER I WANT
$('.fixed-cart').animateCss('bounce');
}
を私が正しいを取得変数内の数字は正しいものの、私のディレクティブテンプレートは更新されません。なぜ私は理解していない。
助けてください。 (ドキュメントから)
編集:このようなダブルカール式として
観察ディレクティブ、{{式}} $時計()メソッドを使用して レジスタリスナー。このタイプの指示文 は、式が変更されたときにいつでも通知して、 ビューを更新できるようにする必要があります。
私は疑問に思っていますが、どのようにすればディレクティブを適切に通知できますか?
EDIT 2:
がnginspector拡張子を使用して、それを見ると、それは私がcartQTotal
ではなく、1と2つのスコープを持って現れ、これは私が指示を持っているかどうかを一定のまま。
コントローラスコープを持ち、同じ変数を持つ重複スコープがありますが、cartQTotalが1つのスコープで変更されていて、他のスコープでは変更されていないため、非常に混乱します。重複しているが無名のコントローラスコープがあるのはなぜですか?
私は正しいとは思わない、私は親に戻って渡されたディレクティブでデータを操作しようとしていない、私は親(コントローラ)のスコープを子供に降ろすしようとしている、それはすでにこれはコードの一部では起こっていません(上記参照)。また、私があなたの '='を双方向バインディングに使うとき、私はヌル値を取得します。 –