2015-05-23 19 views
0

不`噸節目製作動態提供商頁面如何angularjs

$scope.sayHi=function(provider) { 
 
\t \t $scope.Name=provider.Name 
 
\t \t console.log(provider) 
 
\t } 
 
\t 
 
\t $http.get("data.php") 
 
    .success(function(response) { 
 
    \t response.records.forEach(function($scope) { 
 
    \t \t app.provider($scope.City , function() { 
 
    \t \t \t return { 
 
    \t \t \t \t $get:function() { 
 
    \t \t \t \t \t return { 
 
    \t \t \t \t \t \t Name:$scope.Name 
 
    \t \t \t \t \t } 
 
    \t \t \t \t } 
 
    \t \t \t } 
 
    \t \t }) 
 
    \t }) 
 
    }); 
 
\t })
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.11/angular.min.js"> 
 
    <input ng-model="city"> 
 
<p ng-click='sayHi(city)'>Click </p> 
 
<p>This is name: {{name}}</p 
 

 
> Blockquote**strong text** 
 

 
</script>

我能做出提供商和訪問它使用的NG-模型

回答

0

你可以通過注入將定義的服務/提供程序添加到控制器。

定義它的模塊中:

app.provider("myProvider", ['$http', function($http) { 
    getXyz: function(callback) { 
     $http.get("data.php").success(callback); 
    } 
}]); 

順便說一下這是不是一個好主意,用$符號這個因爲...開始的自己的函數名稱所使用的angularfor內部變量。名稱有可能碰撞。

然後在您的控制器中使用它,不需要在您的視圖中訪問它。

app.controller("myController", ['$scope', 'myProvider', function($scope, myProvider){ 
    $scope.sayHello = function(){  
     myProvider.getXyz(function(response) { 
     $scope. ... 
     }); 
    } 
}