2016-10-13 4 views
1
<div class="popover-content" ng-click="updateHeader('jack')"> 

Когда ДИВ нажатии она вызывает функцию, которая делает запрос GET иПочему привязка не работает в угловых js?


var app = angular.module('myApp', []); 
app.controller('myContoller', function($scope, $http) { 

$scope.username = ""; 
$scope.updateHeader = function(username) { 

var url = "api?user="+ username; 
$http.get(url) 

.then(function(response) { 
    $scope.username = response.data.plugUser; 
    console.log($scope.username); 
    $scope.scrollableChatItems = response.data.msg; 

     }); 
    }; 

}; 

Несмотря на то, console.log работает он печатает имя пользователя в консоли, Он не обновляется в username.why имя пользователя не обновляется?


<div class="container" ng-controller="myController"> 
        <h3 class="content-box-header"> 
         {{username}} 
        </h3> 
+0

Является ли «popover-content» div внутри «контейнера» div с ng-контроллером ??? –

+0

внутри ng-контроллера – kevin

ответ

2

Убедитесь, что ДИВ помещается внутри нг-контроллер DIV

<div class="container" ng-controller="myController"> 
     <div class="popover-content" ng-click="updateHeader('jack')"> 
     <h3 class="content-box-header"> 
      {{username}} 
     </h3> 
     </div> 
    </div> 
+0

спасибо, он работает. Но почему он не работал before.ng-init для установки значения по умолчанию. Он должен вызывать функцию, но почему она не устанавливает имя пользователя – kevin

+0

, оно должно работать, если вы сделали то же самое – Sajeetharan

0

Fix опечатки вашего имени контроллера. myContoller

var app = angular.module('myApp', []); 
app.controller('myController', function($scope, $http) { 

$scope.username = ""; 
$scope.updateHeader = function(username) { 

var url = "api?user="+ username; 
$http.get(url) 

.then(function(response) { 
    $scope.username = response.data.plugUser; 
    console.log($scope.username); 
    $scope.scrollableChatItems = response.data.msg; 

     }); 
    }; 

}; 
Смежные вопросы