Angularjs 添加新记录时,指令不会更新

Angularjs 添加新记录时,指令不会更新,angularjs,angular-directive,Angularjs,Angular Directive,我创建了一个简单的指令来显示我电影范围内的所有电影 app .directive('movieOverview', function () { return { template: '<div ng-repeat="movie in movies">Name: {{movie.title}}</div>', controller: 'searchCtrl', }; }); 这里要看到的重要内容是.then(init) 我添

我创建了一个简单的指令来显示我电影范围内的所有电影

app
  .directive('movieOverview', function () {
    return {
      template: '<div ng-repeat="movie in movies">Name: {{movie.title}}</div>',
      controller: 'searchCtrl',
    };
  });
这里要看到的重要内容是
.then(init)

我添加了一个电影,然后执行init函数,该函数将触发一个名为loadMovies的服务

.factory('movieService', ['$http', function($http) {
  return {
    loadMovies: function() {
      return $http.get('/movies.json');
    }
  };
}])
它请求新电影,然后更新视图

var newMovie = {
          title:          $scope.movieListID.original_title,
          release_date:   $scope.movieListID.release_date,
          image:          $scope.movieListID.poster_path,
          movie_id:       $scope.movieListID.id
        };          

createMovie.create(newMovie).then(function(){
    $scope.movies.push(newMovie);
});
您也可以尝试在指令中执行以下操作:

scope: {
  movies: '=movies'
},

这将创建一个双向绑定

您可以在将电影添加到作用域的位置添加代码吗?@thsorens我已经从控制器添加了代码。我可能会在json文件中查找缓存。与其重新加载所有内容,不如将结果推到电影列表中$scope.movies.push(newmovie);你能把你的建议扩大一点吗?两个建议似乎都不起作用。添加新记录时,视图不会更新。
var newMovie = {
          title:          $scope.movieListID.original_title,
          release_date:   $scope.movieListID.release_date,
          image:          $scope.movieListID.poster_path,
          movie_id:       $scope.movieListID.id
        };          

createMovie.create(newMovie).then(function(){
    $scope.movies.push(newMovie);
});
scope: {
  movies: '=movies'
},