在ng-view中ng-repeat失败

时间:2013-06-23 05:18:40

标签: javascript angularjs

我有一个简单的应用程序正在使用ng-view,其中包含ng-repeat。起初我是在没有ng-view的情况下进行的,它工作得很好。然后我转换为ng-view,ng-repeat失败了。其他所有工作,只是ng-repeat吐出$ var而不是实际值。 (更奇怪的是,如果我点击“菜单”链接,它会产生另一个spat-out $ var而不是更改页面。)

这里的答案表明我需要将这些物品放在$ rootscope上,但无论我尝试哪种方式,我似乎无法使其工作。整个事情只是默默地失败,所以我甚至没有错误信息继续下去。据我所知,这意味着正在读取$ rootscope,但其他东西正在失败。我不知道是什么。

我在http://plnkr.co/edit/fuz6JELf1em7VHrY41u4设置了一个用倒数第二次尝试的掠夺者。我当前的尝试尝试使用服务来尝试不同的变体,但这也不起作用。

app.controller('VerbsController', [ '$rootScope', function( $rootScope ) {
    $rootscope.jverbs = [
        {id: 41, name:"Furu", vClass:"Class I", plainPreAffR :"furu", plainPreAffK:"ふる", vKanji1:"下る, 降る", vDef1:"to fall, descend", vType1:"v.i. ", vKanji2:"振る", vDef2:"to wave, shake, swing; throw (dice); reject, abandon", vType2:"v.t."  },
        {id: 42, name:"Futoru", vClass:"Class I", plainPreAffR :"futoru", plainPreAffK:"ふとる", vKanji1:"太る", vDef1:"to gain weight, become fat", vType1:"v.i."  },
        {id: 43, name:"Fuyasu", vClass:"Class I", plainPreAffR :"fuyasu", plainPreAffK:"ふやす",vKanji1:"増やす", vDef1:"to increase, augment", vType1:"v.t."  }
    ];
}]);

app.controller('MenuController', function($scope, $location) {
    $scope.olist = function() { $location.path('/list'); };
});

app.controller('ListController', function( $rootscope, $scope, $location) {
    $scope.omenu = function() { $location.path('/menu'); };
}); 

它必须是令人讨厌的小东西,我才会失踪。如果有人能帮我找到它,请提前感谢!

1 个答案:

答案 0 :(得分:1)

我挑选了你的插件并尝试解决这个问题。你的plunkr代码存在很多问题,主要与使用的错误案例有关,路径路径指向不存在的partial文件夹。

但它认为主要问题是你的ListController定义不正确导致模板渲染失败。

这是它早期的样子(甚至有$rootScope的类型)

app.controller('ListController', function( $rootscope, $scope, $location) {
    $scope.omenu = function() { $location.path('/menu'); };
});

这是正确的方法

app.controller('ListController', ['$rootScope', '$scope', '$location',function( $rootScope, $scope, $location) {
    $scope.omenu = function() { $location.path('/menu'); };
}]);

你看到它在行动

http://plnkr.co/edit/Y4O5bgy6NH4MIH8A0xWI?p=preview

相关问题