2017-05-21 3 views
0

"vm"を関数に転送してそこのフィールドを操作することは可能ですか? (私はそれをしたい理由は、私のコントローラは本当に長いなっているということである)関数内の角ページを操作すると、オブジェクトをどのように転送できますか?

私が試したが、私はこのエラーを取得する:ここで

TypeError: Cannot read property 'reportName' of undefined at modifyTheForm (index.js:163) 

はコードです:

app.controller("reportFormController", function ($scope, $http, $rootScope, $location, ReportData) { 
    var vm = this; 

    // 
    // Change the fields 
    // 
    $scope.modifyForm = function() { 
     console.log('reportName ' + vm.reportName) 
     modifyTheForm(vm); 
     console.log('reportName ' + vm.reportName) 
    } 

} 

function modifyTheForm(myObj) { 
    myObj.reportName = "CHANGED!"; 
} 

答えて

1

いいえ、あなたはそれを行うことはできません、私はコントローラ自体の中でそれを行うことをお勧めします

$scope.modifyForm = function() { 
     vm.reportName = "CHANGED!"; 
} 
+0

ああダーン! - 私のコントローラはhuuugeになるつもりです:)あまりにも悪い、 – torbenrudgaard

+0

あなたは機能に侵入する必要があります – Sajeetharan

関連する問題