2013-02-23 3 views
0

У меня возникла проблема при попытке ссылки на модели с угловыми. Я могу заставить некоторых из них ссылаться, но другие не работают. Я включил код ниже:AngularJS scope

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, который лучше показал бы проблему? –

+0

Проблема в том, что ng-модели в UpdateCustomers и DeleteCustomers не решаются. Таким образом, я не могу получить к ним доступ через $ scope, как я могу, с другими моделями. – user2101411

ответ

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 ']' 

EDIT: Рабочая демо http://jsfiddle.net/grendian/Um3pR/

+0

Привет, ребята, он все еще говорит, что это неразрешено .. :( – user2101411

+0

вот что я поставил 'Module.controller ('DeleteCustomers', ['$ scope', 'func', function ($ scope, func) { $ scope. delete = function() { func.deleteCustomer ($ scope.customer) }; }]); 'no luck. – user2101411

+0

Отредактированный оригинал, чтобы исправить тип и включить рабочую демонстрацию. Посмотрите, поможет ли это. – grendian