私は構文に関して助けが必要です。AngularJs - 複数のコントローラで使用される1つの変数/ 1つの入力を作成するにはどうすればよいですか?
私は変数として格納された2つのユーザー入力を作成しようとしています。これは3つの別々のコントローラー内で使用されます。
私がしようとしているのは、各行がコントローラであるテーブルを作成することです。ユーザーが入力した数値に基づいて、各行はさまざまなフィールドを計算します。
「標準アイレベル」と「ImageAspectRatio」は、3つのコントローラのそれぞれに入る必要がありますが、正しい構文がどうなるかわかりません。
私plunkrをご覧ください:https://plnkr.co/edit/ptHhwmaKdeB4CfYEvdlL?p=preview
var BDMApp = angular.module('BDMApp', []);
var StandardEyeLevel = Number(ctrl.StandardEyeLevel || 0);
var ImageAspectRatio = Number(ctrl.ImageAspecRatio || 0);
BDMApp.controller('BDMFarViewController', [function() {
var ctrl = this;
ctrl.BDMCalc = function() {
var BDMFarViewImgHeight = Number(ctrl.BDMFarViewImgHeight || 0);
var BDMFarViewDistFloor = Number(ctrl.BDMFarViewDistFloor || 0);
var BDMFarViewMinPerElm = Number(ctrl.BDMFarViewMinPerElm || 0);
ctrl.BDMFarViewImgOffSetAns = BDMFarViewDistFloor - StandardEyeLevel;
ctrl.BDMFarViewImgWidthAns = BDMFarViewImgHeight * ImageAspectRatio;
ctrl.BDMFarViewFarViewAns = BDMFarViewDistFloor * BDMFarViewMinPerElm * 200;
ctrl.BDMFarViewViewRatAns = ctrl.BDMFarViewFarViewAns/BDMFarViewDistFloor;
ctrl.BDMFarViewVVFAns = BDMFarViewDistFloor + ctrl.BDMFarViewImgOffSetAns;
ctrl.BDMFarViewCloseViewAns = ctrl.BDMFarViewVVFAns * 1.732;
ctrl.BDMFarViewViewRatAns = ctrl.BDMFarViewCloseViewAns/BDMFarViewImgHeight;
ctrl.BDMFarviewNominalViewDepthAns = ctrl.BDMFarViewFarViewAns - ctrl.BDMFarViewCloseViewAns;
}
}]);
任意およびすべてのヘルプは大歓迎です。
複数のコントローラ間でデータを共有する場合は、$ rootScopeを使用できます。しかし、それはお勧めしません。そのため、サービスを使用してデータを格納し、複数のコントローラで使用します。 – SaiUnique