2017-04-17 111 views
1

NG-應用程序是在HTML標籤上添加。我添加了一部分html代碼。 我想使用CreatePortfolioController,但它似乎是未定義的。我也檢查了錯字錯誤,但似乎沒有。我不知道爲什麼它不起作用。你能幫我調試嗎?

App.js

var app = angular.module("UiApp", ["ServiceApp"]); 

app.service('sharedProperties', function() { 
    var idValue = 'test string value'; 

    return { 
     getId: function() { 
      return idValue; 
     }, 
     setId: function (value) { 
      idValue = value; 
     } 
    } 
}); 

app.controller("PortFolioController", function ($scope, GetPortfolios, sharedProperties) { 
    $scope.Portfolios = GetPortfolios.query({ pmid: 2 }); 
    console.log($scope.Portfolios); 
    $scope.addOrder = function (id) { 
     sharedProperties.setId(id) 
    }; 
}); 

app.controller("CreatePortfolioController", function ($scope, CreatePortfolio) { 
    $scope.create = function (data) { 
     CreatePortfolio.save(data); 
    }; 
}); 

app.controller("OrderController", function ($scope, GetOrders, sharedProperties) { 
    $scope.$watch(function() { 
     return sharedProperties.getId() 
    }, function (newValue, oldValue) { 
     if (newValue != oldValue) { 
      $scope.item = newValue; 
      $scope.Orders = GetOrders.query({ id: item }); 
     } 
    }); 
}); 

Service.js

var app = angular.module("ServiceApp", ["ngResource"]); 

    app.factory('GetPortfolios', function ($resource) { 
     return $resource("http://localhost:61347/api/PortfolioManager/GetPortfolios/"); 
    }); 

    app.factory('GetOrders', function ($resource) { 
     return $resource("http://localhost:61347/api/PortfolioManager/GetPortfolioOrders/"); 
    }); 

    app.factory('CreatePortfolio', function ($resource) { 
     return $resource("http://localhost:61347/api/PortfolioManager/CreatePortfolio"); 
    }); 

的Html

<div class="panel-body"> 
           <div class="form" ng-controller="CreatePortfolioController"> 
            <form class="cmxform form-horizontal " id="signupForm" method="get" ng-submit="create(data)" action=""> 
             <div class="form-group "> 
              <label for="portfolioname" class="control-label col-lg-3">Portfolio Name</label> 
              <div class="col-lg-6"> 
               <input class= "form-control" ng-model="data.portfolioName" name="portfolioname" type="text" required /> 
              </div> 
             </div> 
             <div class="form-group "> 
              <label for="portfoliotype" class="control-label col-lg-3">Portfolio Type</label> 
              <div class="col-lg-6"> 
               <input class= "form-control" ng-model="data.type" name="portfoliotype" type="text" required /> 
              </div> 
             </div> 
             <div class="form-group "> 
              <label for="portfoliodesc" class= "control-label col-lg-3">Portfolio Description</label> 
              <div class="col-lg-6"> 
               <textarea class="form-control " ng-model="data.description" name="portfoliodesc" rows="3"></textarea> 
              </div> 
             </div>          
             <div class="form-group"> 
              <div class="col-lg-offset-3 col-lg-6"> 
               <button class="btn btn-primary" type="submit">Save <i class="fa fa-check"></i></button><!--Write Save code--> 
               <button class="btn btn-primary" type="reset">Cancel <i class="fa fa-times"></i></button><!--Write clear text box code--> 
              </div> 
             </div> 
            </form> 
           </div> 
          </div> 

導入文件的順序

<script src="~/Scripts/angular.js"></script> 
<script src="~/Scripts/angular-resource.js"></script> 
<script src="~/AngularScripts/PM/App.js"></script> 
<script src="~/AngularScripts/PM/Service.js"></script> 
+0

哪裏是你的'NG-app'? –

+0

我認爲它的某種工廠注入問題 –

回答

0

請檢查所有這些條件:

  1. ng-app在HTML頁面中ng-controller或 在同一個標​​記之前。
  2. 檢查控制器的名稱,因爲它區分大小寫。
  3. 確保已正確加載HTML頁面中的JS文件。對於AngularJS庫,那麼你的應用程序文件 包含與NG-應用程序集sequentially- JS文件,即 定義服務(如果有的話)js文件,定義工廠(如果有的話), js文件js文件的JS文件定義你的控制器。請確保您不會錯過 包含任何js文件並且順序正確。

因爲我沒有看到控制器文件包含在<script>中,在您添加的代碼段中。

+0

控制器文件被添加。 App.js –

+0

您的serviceApp.js文件在哪裏?它下面的App.js和內部的應用程序,JS你使用serviceApp服務,所以它應該在App.js上面。 –

+0

我已經添加了文件序列。看到問題 –

相關問題