2013-02-23 102 views
0

我试图用angularjs引用模型时遇到了问题。我可以让他们中的一些人参考,但其他人不工作。我已经包含下面的代码:AngularJS范围

function DeleteCustomers($scope, func) { 
    $scope.delete = function() { 
     func.deleteCustomer($scope.customer); 
    } 
} 


function UpdateCustomers($scope, func) { 
    $scope.update = function() { 
     func.updateCustomer({ name: $scope.name2, telephone: $scope.telephone2, 
      email: $scope.email2, street: $scope.street2, 
      city: $scope.city2, zipcode: $scope.zipcode2 }); 
     } 
    } 
} 

和HTML是

<div ng-controller="UpdateCustomers"> 
     <form class="test-angular-update"> 
      <input type="text" ng-model="name2"><br> 
      <input type="text" ng-model="telephone2"><br> 
      <input type="text" ng-model="email2"><br> 
      <input type="text" ng-model="street2"><br> 
      <input type="text" ng-model="city2"><br> 
      <input type="text" ng-model="zipcode2"><br> 
      <button class="button" ng-click="update()">Update</button><br> 
     </form> 
    </div> 

    <br><br> 
    <div ng-controller="DeleteCustomers"> 
     <form class="text-angular-delete"> 
      Customer Name <input type="text" ng-model="customer"><br> 
      <button class="button" ng-click="delete()">Delete</button><br> 
     </form> 
    </div> 

所有车型从UpdateCustomers和DeleteCustomers不能够由控制器引用。任何帮助,将不胜感激。

谢谢!

+1

这不是很清楚你的问题是什么,你的代码太不完整做出猜测。你能否提供一个更好的演示问题的jsFiddle? – 2013-02-23 07:17:41

+0

问题是UpdateCustomers和DeleteCustomers下的ng模型没有被解析。因此,我无法像使用其他模型一样通过$ scope访问它们。 – user2101411 2013-02-23 13:34:26

回答

2

这里有一个更可靠的应用程序结构,这可能有助于确保正确注入func服务。不知道这是你遇到的问题。

//app.js 
var app = angular.module('app', []); 

//services.js 
app.factory('func', function(){/* service code*/}); 

//controllers.js 
app.controller('DeleteCustomers', ['$scope', 'func', function($scope, func){ 
    $scope.delete = function() { 
    func.deleteCustomer($scope.customer); 
    }; 
}]);//edit had typo here missing ']' 

编辑:工作演示http://jsfiddle.net/grendian/Um3pR/

+0

嘿格林迪安,它仍然说它没有解决.. :( – user2101411 2013-02-23 18:45:25

+0

这是我把'Module.controller('DeleteCustomers',['$ scope','func',函数($ scope,func){ $ scope。删除=功能(){ func.deleteCustomer($ scope.customer); }; }]);'没有运气 – user2101411 2013-02-23 18:57:32

+0

编辑原始修复类型和包括工作演示。看看是否有帮助。 – grendian 2013-02-23 19:44:16