angularJS 해결 : 컨트롤러에서 "정의되지 않은 '목표'속성을 읽을 수 없습니다.

에릭

이것은 stackoverflow에 대한 첫 번째 질문입니다. (나는 따옴표로 많은 어려움을 겪었다는 것을 알고 있습니다.) 다음 코드의 스 니펫이 다음 오류를 남기는이 문제에 갇혀 있습니다.

TypeError :
ui-bootstrap-tpls-0.12의 Object.invoke (angular.js : 3762)에서 $ scope.addValue. $ modal.open.resolve.goals (app.js : 59)에 정의되지 않은 속성 'goals'를 읽을 수 없습니다 . .1.js : 2118 at Object.forEach (angular.js : 329) at getResolvePromises (ui-bootstrap-tpls-0.12.1.js : 2116) at Object. $ modalProvider. $ get. $ modal.open (ui- bootstrap-tpls-0.12.1.js : 2151) at Scope. $ scope.addValue (app.js : 53) at Parser.functionCall (angular.js : 10294) at angular.js : 18229 at Scope. $ get.Scope . $ eval (angular.js : 12075)

내 코드의 'goals'는 'inspired by'코드의 'items'에 해당합니다.

이 메시지는 'goals'참조를 포함하는 ctrlAddValue 컨트롤러에서 온 것 같습니다 : function ($ scope, $ modalInstance, goals)

도움을 주셔서 감사합니다!

그 범인:

app.controller("ctrlCtx", function ($scope, $state, $stateParams, $modal,     $window) {

$scope.goals = "A good goal";

     $scope.addValue = function (size, $scope) {
        var modalInstance = $modal.open({
            templateUrl: 'templates/addValue.html',
            size: "lg",
            controller: "ctrlAddValue",
            resolve: {
                goals: function () {
                    return $scope.goals;
                }
            }
        })
        modalInstance.result.then(
             function (selectedItem) {

              }, 
              function () {

              });
     }; });

이것은 'ctrlAddValue'컨트롤러 코드입니다.

app.controller('ctrlAddValue', function ($scope, $state, $modalInstance, goals) {

$scope.addValue = function(){

    $modalInstance.close();
};

$scope.cancel = function () {
    $modalInstance.dismiss();
 };

 });

이것은 모달 용 ui.bootstrap 데모를 기반으로합니다.

쿼드
app.controller("ctrlCtx", function ($scope, $state, $stateParams, $modal,     $window) {

$scope.goals = "A good goal";

     $scope.addValue = function (size, $scope) {

$ scope를 지역 매개 변수로 전달하고 아마도 $ scope.addValue (something); 로컬 $ scope를 정의되지 않게 만듭니다.

addValue 함수에서 $ scope 매개 변수를 제거하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사