角度控制器调用了两次

时间:2015-06-12 18:23:02

标签: javascript angularjs

我尝试过同时使用DOM和stateProvider方法。

Feed.html

%// Create temporary cell array of values
c = cell(1,8);

%// Run parfor for each col
parfor col = 1:8
    c{col} = SpreadFinder(pp, 0.8, i_ranges(:,col)');
end

%// Make a new containers.Map for these values
m = containers.Map(1:8, c, 'uniformvalues', false);
%clear c; %// Optional if you don't want the temporary cell array to stick around

feed.controller.js

    <div class="container-fluid">
        <div class="panel panel-card" ng-repeat="post in posts" class="col-lg-12 fadeInUp animated" style="-webkit-animation-delay: {{$index * 0.1}}s; animation-delay: {{$index * 0.1}}s;">
            <div class="panel-body bg-primary">{{post.user_id}} from {{post.squad_id}}</div>
            <div class="clearfix"></div>
        </div>
    </div>

routes.config.js

(function() {
    'use strict';

    angular
        .module('app')
        .controller('FeedController', FeedController);

    FeedController.$inject = ['$scope'];
    function FeedController($scope) {
        console.log($scope);
    }

})();

另一种方法是将(function() { 'use strict'; angular .module('app') .config(routesConfig); routesConfig.$inject = ['$locationProvider', '$stateProvider', '$urlRouterProvider', 'RouteProvider']; function routesConfig($locationProvider, $stateProvider, $urlRouterProvider, Route) { // use the HTML5 History API $locationProvider.html5Mode(false); // Default route //$urlRouterProvider.otherwise('/feed'); // Application Routes States $stateProvider .state('app', { url: '', abstract: true, templateUrl: Route.base('app.html'), resolve: { _assets: Route.require('icons', 'toaster', 'animate') } }) .state('app.feed', { url: '/feed/', templateUrl: Route.base('feed.html'), controller: "FeedController", resolve: {} }) } })(); 插入ng-controller="FeedController"的顶部div并从feed.html

注释掉controller: "FeedController",

app.html

routes.config.js

这两种方法都是console.log($ scope)两次使用不同的$ id&#39; s。这会在页面重新加载和状态更改时发生。

任何人都有任何想法?

2 个答案:

答案 0 :(得分:0)

我不是我可以测试的地方,但您可以尝试在.controller('FeedController', FeedController);中评论feed.controller.js行。

我认为击中路线会触发控制器,所以你不需要在那里开火。

答案 1 :(得分:0)

没有理由发生这种情况。但是,我怀疑url sub state。尝试删除最后一个栏。