Установка значения ng-bind динамически через контроллер, без использования выражения

<div ng-app =“App” ng-controller = “ctrl”>
<input ng-model = “firstName”>
<p ng-bind = “showFirstName”></p>

<script>
var app=(‘App’,[]);
app.controller(‘ctrl’,function($scope)
{
//This Line
$scope.showFirstName = $scope.firstName;
});
</script>

Я хочу установить showFirstName динамически, а не назначать постоянную строку. С Angular это возможно?

1 ответ

Да, вы можете сделать это с помощью фабрики

//Create App
var app = angular.module('myApp',[]);

//Create a factory
app.factory('DbService', function($http){
    return{
      fetchData : function(parameters){
        return $http.post('/url-to-fetch-data',parameters).then(function (response) {
          return response.data;
      });      
      }
    }
});

//inject factory to controller
app.controller('mycontroller', ['$scope', 'DbService', function($scope, DbService){
    $scope.name = '';
    //parameters is a javascript object here you can pass the parameters from client if you want
    var parameters = {id:'125', token:"sd13ds6dsds454dsd4"};
  DbService.fetchData(parameters).then(function(data){
    $scope.name = data.name
  })

}])

Другие вопросы по тегам