我的范围适用不正常

时间:2015-10-24 01:23:08

标签: angularjs apply ng-repeat digest

我试图研究这个问题而且没有运气。我的ng-repeat在第一次尝试时不会显示控制器的动态内容。有人告诉我使用.digest或申请获取角度再次点击我的页面,但我不太清楚如何实现。从我在网上看到的例子来看,这应该可行

var shopItems = angular.module('shopItems', []);
var trophyEarns = angular.module('trophyEarns', []);
var app = angular.module('app', ['shopItems', 'trophyEarns']);

shopItems.controller('shopItemController', function ($scope) {
    $scope.shopItems = [{
            //id: 01,
            name: 'One',
            //img: '',
            price: '$3.99',
            altprice: '1 mile',
            desc: 'This is a fake description.',
            prog: '50%'
        },{
            //id: 02,
            name: 'Two',
            //img: '',
            price: '$3.99',
            altprice: '1 mile',
            desc: 'This is a fake description.',
            prog: '50%'
        }];
        $scope.$apply();
});

trophyEarns.controller('trophyEarnsController', function ($scope) {
    $scope.trophyEarns = [{
            //id: 01,
            name: 'One',
            //img: '',
            price: '$3.99',
            altprice: '1 mile',
            desc: 'This is a fake description.',
            prog: '50%'
        },{
            //id: 02,
            name: 'Two',
            //img: '',
            price: '$3.99',
            altprice: '1 mile',
            desc: 'This is a fake description.',
            prog: '50%'
        }];
        $scope.$apply();
});

以下是html和控制器的片段

<div ng-app="app">
    <div ng-controller="shopItemController">
        <div class="itm" ng-repeat="shopItem in shopItems">
            <div class="imag"></div>
            <h2>{{ shopItem.name }}</h2>
            <div class="hff">Earn it: {{ shopItem.altprice }}</div>
            <div class="hf">Buy it: {{ shopItem.price }}</div>
            <div class="desc"><div>{{ shopItem.desc }}</div></div>
            <div class="prog"><div>{{ shopItem.progress }}</div></div>
        </div>
    </div>
</div>

但这没有任何效果,也没有错误弹出。每次离开时我仍然被迫重新加载并返回带控制器的页面以查看动态内容。我正确使用这个吗?消化更好吗?

0 个答案:

没有答案