【问题标题】:why binding not working in angular js?为什么绑定在 Angular js 中不起作用?
【发布时间】:2017-02-22 23:42:23
【问题描述】:
  <div class="popover-content" ng-click="updateHeader('jack')">

当这个 div 被点击时,它会调用一个函数,该函数发出一个 get 请求并且


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在工作,它也在控制台打印用户名,它没有在用户名中更新。为什么用户名没有更新?


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

【问题讨论】:

  • “容器” div 中的“popover-content” div 是否带有 ng-controller ???
  • ng-controller 内部

标签: javascript angularjs binding angularjs-scope


【解决方案1】:

确保你的 div 被放置在 ng-controller div 中

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

【讨论】:

  • 谢谢,它可以工作。但是为什么它之前不起作用。ng-init是用于设置默认值。它必须调用该函数但为什么它没有设置用户名
【解决方案2】:

修正您的控制器名称的拼写错误。我的控制器

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;

       });
   };

};

【讨论】:

    猜你喜欢
    • 2017-06-24
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    相关资源
    最近更新 更多