Javascript 无法在angularjs中传递对象内部指令?

Javascript 无法在angularjs中传递对象内部指令?,javascript,angularjs,restangular,Javascript,Angularjs,Restangular,这是指令的代码 module.exports = ()=>{ return { restrict: 'E', templateUrl: "/components/editor/editor.html", scope: {channel: '='}, controller: "editorCtrl" }; }; 控制器 module.exports = ($scope,$rootScope)=>{ console.log($scope.ch

这是指令的代码

module.exports = ()=>{
  return {
    restrict: 'E',
    templateUrl: "/components/editor/editor.html",
    scope: {channel: '='},
    controller: "editorCtrl"
  };
};
控制器

module.exports = ($scope,$rootScope)=>{
  console.log($scope.channel);
};
我使用模板调用相同的函数

.container(ng-controller="blogCtrl" ng-init="getOne()")
  h1(ng-bind="blog.title")
  editor(channel="blog")
blogCtrl的相关部分

module.exports = ($scope,$rootScope,api,$routeParams)=>{
  $scope.getOne = ()=>{
    $scope.data = null;
    $scope.error = null;
    var id = $routeParams.blogSlug;
    api.one("blog",id)
      .then((resp)=>{
        $scope.blog = resp.data;
      })
      .catch((err)=>{
        $scope.error = err.message;
      });
  }
};
api工厂的代码是

module.exports = ($rootScope,$localStorage,Restangular)=>{
  var helper = {};

  helper.one = (model,id)=>{
    return new Promise((fullfill,reject)=>{
      $rootScope.$broadcast("loaderInit");
      Restangular
        .one(model,id)
        .get()
        .then(fullfill)
        .then(()=>{
          $rootScope.$broadcast("loaderEnd");
        })
        .catch((err)=>{
          $rootScope.$broadcast("loaderEnd");
          reject(err);
        });
    });
  }
  return helper;
}

我不知道为什么,但频道总是没有定义。我哪里出错了?

哪里是
blogCtrl
?让我也添加这一部分。。一个second@DanielA.White他补充道。h1绑定正在工作,所以我认为获取postwhat's api不会有问题?这是一个$q的承诺吗?得到一个