AngularJS页面加载两次

时间:2017-12-30 17:17:11

标签: javascript angularjs liferay liferay-7

以下是app.js中的angularJS代码:

'use strict';
var app = angular.module('app', ['slick']);
app.config(['$locationProvider', function($locationProvider) {
    $locationProvider.html5Mode({
        enabled: true,
        requireBase: false
    });
}])

app.
controller('messageFunnel',['$scope', '$http', 
'$location',function($scope, $http, $location) {
    var msgChat = $location.search().msgChat;
    var email   = $location.search().email;
    var url = $location.absUrl();
    url = url.substring(0, url.indexOf('msgChat'));
    $scope.url = url;
    $http({
        method: 'POST',
        url: 'url',
        data: {
            "msgChat": msgChat,
            "email" : email
        }
    }).then(function successCallback(response) {
           $scope.data = response.data;
           console.log($scope.data)
       }, function errorCallback(response) {
              console.log(response.data);
       });
}]);

下面是我的html页面,它主要使用从app.js中的api调用中检索到的数据:

<body>
<div class="row" ng-app="app" ng-controller="messageFunnel">
<div class="col-lg-4 col-md-6 col-sm-12">
  <div class="white-box">
    <h3 class="box-title">Prior</h3>
    <div class="comment-center">
      <div class="comment-body b-none" ng-repeat="item in data.messages[0].prevArray">
        <div class="mail-contnet">
          <span class="time">{{item.count}}</span>
          <a href="{{scope.url}}msgChat={{item.chat}}" target="_blank"><i class="fa fa-external-link fa-pull-right" aria-hidden="true" style = "font-size:15px;"></i></a>
          <br/>
          <p>{{item.chat}}</p>
        </div>
      </div>
    </div>
  </div>
</div>

 

我正在将角度页面作为链接集成到其他一些jsp页面中。我是如何在Liferay的jsp页面中添加链接的:

var link = "Current Page URL";
link = link + '&email=' + email+'&msgChat=' + message;//appending parameters to the url
<A href= link target="_blank">Message value</A>

我正在将角度页面集成为嵌入式链接,并将电子邮件和msgChat参数添加到该链接。但是不知道为什么当我点击链接时,我的页面加载两次参数和一次没有参数

PS:我正在使用liferay并在jsp文件中编写前端。

1 个答案:

答案 0 :(得分:0)

也许不是两次收费,它只是第一次收费没有数据,你必须等待请求填写你的模板的承诺。您可以为数据填充时创建一个有角度的路线,并将其路由到新的messageFunnel状态。

您应该查看此https://github.com/angular-ui/ui-router/wiki/Quick-Reference