我的视图范围数据未更新

时间:2014-08-01 15:34:46

标签: angularjs-scope

我有一个简单的AngularJS应用程序,其中包含一个包含集合的服务。

有一个导航视图,其中一个表单及其控制器添加到集合中。 index.html文件中包含ng-include属性的视图:

<div ng-include="'views/nav.html'"></div><div ng-view="">

还有另一个视图及其控制器来显示集合内容。使用app / scripts / app.js文件中的route语句调用此视图:

  .when('/link/list/', {
    templateUrl: 'scripts/domain/link/view/list.html',
    controller: 'linkListController'
  })

但是当我尝试在/#/ link / list /地址中添加表单中的项目时,这个其他视图没有显示任何内容,并且视图中没有显示任何收集项目。

我觉得我的导航控制器没有与显示列表视图共享集合。

这是列表集合控制器:

app.controller('linkListController', function ($scope, $log, loggingService, firebaseLinkService, LinksService) {    
});

这里是list.html视图:

<div class="post row" ng-repeat="link in links">
  <a href="{{ link.url }}">
    {{ link.title }}
    <span class="url">({{ link.url | hostnameFromUrl }})</span>
  </a>
</div>

这是导航控制器:

app.controller('navController', function ($scope, $log, $location, loggingService, firebaseLinkService, LinkService, LinksService) {

  $scope.addLink = function() {
    $scope.link = LinkService;
    $scope.links = LinksService;

    var linkUrlId = firebaseLinkService.push($scope.link);
    var pathArray = linkUrlId.toString().split('/');
    var linkId = pathArray[pathArray.length - 1];

    $scope.link.id = linkId;
    $scope.links.push($scope.link);

    $scope.link = {id: '', url: '', title: ''};
  };


});

它的观点:

<div ng-controller="navController">
  <form ng-submit="addLink()">
    <input type="text" ng-model="link.title">
    <input type="text" ng-model="link.url">
    <button type="submit" >Submit</button>
  </form>
</div>

我认为我的两个控制器都是根控制器,因为它们是通过app.controller()在app上完成的。是这样的吗?如果是这样,那么它们的范围是根范围吗?

亲切的问候,

Stephane Eybert

0 个答案:

没有答案