2017-03-03 122 views
0

我在下面有一个基本的角度应用程序,但奇怪的是每次用户输入消息时视图都会重新加载。角度按键事件每次都会触发视图

我不确定为什么这可能发生,因为我正在使用qualitater的轨道。任何帮助表示赞赏

var mainApp = angular.module("ChatApp", []); 
 

 
mainApp.controller('ChatController', ['$scope', function($scope) { 
 

 
    $scope.linkify = function(inputText) { 
 

 
    console.log("INPUT TYPE " + inputText); 
 
    } 
 

 

 
}]);
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script> 
 

 

 
<div id="main-window" class="main-content" style="padding-top:50px;"> 
 

 
    <div ng-app="ChatApp" ng-controller="ChatController"> 
 

 
    <div id="chatmcontainer" class="container-fluid"> 
 

 
     <ul id="chatbox" class="chat"> 
 
     <li ng-repeat="n in [41, 42, 43, 44] track by $index"> 
 
      <p> 
 
      {{linkify(n)}} 
 
      </p> 
 
     </li> 
 
     </ul> 
 

 
     <div class="col-md-offset-3 col-md-7 bg-white" style="padding-right:20px;"> 
 
     <div class="input-group"> 
 

 
      <input ng-keypress="count = count + 1" ng-init="count=0" ng-model-options="{ 
 
         updateOn: 'blur' 
 
        }"> 
 
     </div> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

+0

你可以请格式化代码?这将很容易帮助。 – krish

+0

你能提供一个小提琴吗?你的linify只有日志,那么你预期会发生什么? –

回答

0

您可以以使用绑定的一种方式使用

{{::linkify(n)}} 

。 我想这是因为你使用了一个函数而重画列表。我会尽力找到更详细的解释,我将编辑此回复。

+0

感谢您的反馈罗伯特,它似乎仍然重新绘制它甚至与变化:( – yellowandy