私はMEAN.jsの初心者です。あるモジュールから別のモジュールにいくつかのデータを表示する際に問題があります。モジュールのデータを別のモジュールに表示する問題
私は自分の会社の仕事のリストを含む新しいCRUDモジュール「ジョブ」を作成しました。 このリストのジョブをユーザー(サンプルコードに含まれているもう1つのcrudモジュール)に関連付けたいと思います。 管理パネルでユーザーを編集しているときに、リストを作成し、データベース内のユーザーに設定します。ここで
は私が今からきたものである:
user.server.model.js
var UserSchema = new Schema({
//username, firstname etc.
job: {
type: Schema.ObjectId,
ref: 'job'
}
});
job.server.model.js
var JobSchema = new Schema({
name:{
type: String
}
});
マイHTML I両方をリンクしてみてください:
edit-user.client.view.html
//Set a job for a user
<select ng-options="job.name for job in vm.jobs"></select> // <--- this doesn't work
ありがとうございました:)!
編集: user.client.controller.js
angular.module('users.admin').controller('UserController', ['$scope', '$state', 'Authentication', 'userResolve',function ($scope, $state, Authentication, userResolve) {
$scope.authentication = Authentication;
$scope.user = userResolve; //...
job.client.controller.js
angular
.module('jobs')
.controller('JobsController', JobsController);
JobsController.$inject = ['$scope', '$state', 'Authentication', 'jobResolve'];
function RolesController ($scope, $state, Authentication, job) {
var vm = this;
vm.authentication = Authentication;
vm.job = job; //...
リスト-job.client.controller.js
angular
.module('jobs')
.controller('JobsListController', JobsListController);
JobsListController.$inject = ['JobsService'];
function JobsListController(JobsService) {
var vm = this;
vm.roles = JobsService.query();
}
解決しました。私のジョブ・サービスを自分のユーザー・コントローラーに注入しました:
angular.module('users.admin').controller('UserController', ['$scope', '$state', 'Authentication', 'JobsService', 'userResolve',
function ($scope, $state, Authentication, JobsService, userResolve) {
$scope.authentication = Authentication;
$scope.user = userResolve;
$scope.jobs = JobsService.query();
は、私がこれを選択したジョブを持つユーザを更新するために必要であることを理解し、私はそれがの上流にある、明らかに私の問題を説明していなかった、助けてくれてありがとうそれは(私はmean.jsを持つ真の初心者です)。実際には、vm.jobsはデータベースから何も取得しておらず、別のモジュールにあるように、編集ユーザーのビューの内部から呼び出す方法がわかりません。 – Eld0w
AngularJSコントローラコードを投稿できますか?あなたのAPIからジョブとユーザーをロードする場所。私はあなたが両方のビューで使用されるコントローラの$スコープに読み込まれている必要があると思います。 –
私はモジュールごとに1つのコントローラを持っています.1つはユーザ用、もう1つはロール用です。問題があるかもしれないと思いますが、$スコープにロードされたことはありません。 – Eld0w