Застрял с обновлением $ scope по $ http [duplicate]

Используем groupby, resample с W-Mon и sum:

df.groupby('Name').resample('W-Mon', on='Date').sum().reset_index().sort_values(by='Date')

Выход:

     Name       Date  Quantity
0   Apple 2017-07-17        90
3  orange 2017-07-17        20
1   Apple 2017-07-24        30
2  Orange 2017-07-31        40
97
задан Paul 18 February 2013 в 17:20
поделиться

15 ответов

Возможно, вам просто нужно использовать тег кнопки, если вам не нужен uri.

29
ответ дан Geoff 25 August 2018 в 03:34
поделиться

Проверьте этот параметр

<a href="#" ng-click="logout(event)">Logout</a>

 $scope.logout = function(event)


 {
event.preventDefault();
alert("working..");
}
0
ответ дан Ajay M. 25 August 2018 в 03:34
поделиться

Просто напишите ng-click перед href .. Он работал для меня

<!DOCTYPE html>
<html>

  <head>
    <script data-require="angular.js@1.5.0" data-semver="1.5.0" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js"></script>
    <script>
    angular.module("module",[])
.controller("controller",function($scope){
  
  $scope.func =function(){
    console.log("d");
  }
  
})</script>
  </head>

  <body ng-app="module" ng-controller="controller">
    <h1>Hello ..</h1>
    <a ng-click="func()" href="someplace.html">Take me there</a>
  </body>

</html>

5
ответ дан Anna 25 August 2018 в 03:34
поделиться

Вы можете просто запретить поведение события click по умолчанию непосредственно в вашем шаблоне.

<a href="#" ng-click="$event.preventDefault();logout()" />

В угловой документации ,

] Директивы, такие как ngClick и ngFocus, выставляют объект $ event в рамках этого выражения.

70
ответ дан atroberts20 25 August 2018 в 03:34
поделиться

Я добавлю для примера пример, который работает для меня, и вы можете изменить его, как хотите.

Я добавляю следующий код внутри своего контроллера.

     $scope.showNumberFct = function(){
        alert("Work!!!!");
     }

и для моей страницы просмотра я добавляю следующий код.

<a  href="" ng-model="showNumber" ng-click="showNumberFct()" ng-init="showNumber = false" >Click Me!!!</a>
0
ответ дан BERGUIGA Mohamed Amine 25 August 2018 в 03:34
поделиться

Здесь так много ответов на этот вопрос, но кажется, что есть немного путаницы в том, что на самом деле происходит здесь.

Во-первых, ваша предпосылка

«href переопределяет ng-click в Angular.js»

неверен. На самом деле происходит то, что после щелчка событие щелчка сначала обрабатывается угловым (определяется директивой ng-click в угловых 1.x и click в угловом 2.x +), а затем продолжает размножаться (что в конечном итоге вызывает браузер, чтобы перейти к URL-адресу, определенному атрибутом href). (См. этот для получения дополнительной информации о распространении события в javascript)

Если вы хотите этого избежать, отмените распространение события с помощью . Метод preventDefault() интерфейса события :

<a href="#" ng-click="$event.preventDefault();logout()" />

(Это чистая функциональность javascript и не имеет ничего общего с угловым)

Теперь это уже решит вашу проблему, но это не оптимальное решение. Угловая, по праву, продвигает шаблон MVC . С помощью этого решения ваш шаблон html смешивается с логикой javascript. Вы должны стараться избегать этого как можно больше и поместить свою логику в свой угловой контроллер. Таким образом, лучший способ -

<a href="#" ng-click="logout($event)" />

И в вашем методе logout ():

logout($event) {
   $event.preventDefault();
   ...
}

Теперь событие клика не дойдет до браузера, поэтому оно не будет пытаться загрузите ссылку, указанную href. (Однако обратите внимание, что если пользователь щелкнет правой кнопкой мыши по ссылке и сразу откроет ссылку, тогда вообще не будет события щелчка, а будет напрямую загружать URL, указанный атрибутом href.)

Относительно комментариев о посещенных цветах ссылок в браузерах. Опять же, это не имеет никакого отношения к угловому, если ваш href="..." указывает на посещаемый URL вашего браузера по умолчанию, цвет ссылок будет другим. Это контролируется CSS: посещенный Selector , вы можете изменить свой css, чтобы отменить это поведение:

a {
   color:pink;
}

PS1:

Некоторые ответы предлагают использовать :

<a href .../>

href является угловой директивой. Когда ваш шаблон обрабатывается угловым, он будет преобразован в

<a href="" .../>

. Эти два способа по существу одинаковы.

5
ответ дан Caner 25 August 2018 в 03:34
поделиться

Это работало для меня в IE 9 и AngularJS v1.0.7:

<a href="javascript:void(0)" ng-click="logout()">Logout</a>

Благодаря комментарий duckeggs для рабочего решения!

12
ответ дан Community 25 August 2018 в 03:34
поделиться

Этот пример с сайта угловой документации просто делает href, даже не присваивая его пустой строке:

[<a href ng-click="colors.splice($index, 1)">X</a>]

http://docs.angularjs.org/api/ng .directive: выберите

234
ответ дан Homan 25 August 2018 в 03:34
поделиться
//for dynamic elements - if you want it in ng-repeat do below code

angular.forEach($scope.data, function(value, key) {
     //add new value to object
    value.new_url  = "your url";
});

 <div ng-repeat="row in data"><a ng-href="{{ row.url_content }}"></a></div>
0
ответ дан Krishna 25 August 2018 в 03:34
поделиться

Еще один намек. Если вам нужен реальный URL (для поддержки доступности браузера), вы можете сделать следующее:

template:

<a ng-href="{{link}}" ng-click="$event.preventDefault(); linkClicked(link)">{{link}}</a>

директива:

$scope.linkClicked = function(link){
    // your code here
    $location.path(link);
};

В этом ваш код в linkClicked () будет иметь шанс выполнить перед переходом на ссылку

23
ответ дан mPrinC 25 August 2018 в 03:34
поделиться

Вот еще одно решение:

<a href="" ng-click="logout()">Sign out</a>

i.e. Просто удалите # из атрибута href

67
ответ дан Muhammad Towfique Imam 25 August 2018 в 03:34
поделиться

В Angular <a> s - директивы . Таким образом, если у вас есть пустой href или нет href, Angular вызовет event.preventDefault.

Из источника :

    element.on('click', function(event){
      // if we have no href url, then don't navigate anywhere.
      if (!element.attr(href)) {
        event.preventDefault();
      }
    });

Вот plnkr , демонстрирующий отсутствующий сценарий href.

20
ответ дан Omar 25 August 2018 в 03:34
поделиться

Вы также можете попробовать следующее:

<div ng-init="myVar = 'www.thesoftdesign'">
        <h1>Tutorials</h1>
        <p>Go to <a ng-href="{{myVar}}">{{myVar}}</a> to learn!</p>
</div>
1
ответ дан Rizo 25 August 2018 в 03:34
поделиться

Не думаю, что вам нужно удалить «#» из href. После работы с Angularjs 1.2.10

<a href="#/" ng-click="logout()">Logout</a>
2
ответ дан Saurabh 25 August 2018 в 03:34
поделиться

Вы пытались перенаправить внутри самой функции выхода из системы? Например, скажем, что ваша функция выхода из системы следующая

$scope.logout = function()
{
  $scope.userSession = undefined;
  window.location = "http://www.yoursite.com/#"
}

Тогда вы можете просто

<a ng-click="logout()">Sign out</a>
0
ответ дан strizzwald 25 August 2018 в 03:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: