templates – Stepan Suvorov Blog https://stepansuvorov.com/blog Release 2.0 Sat, 07 Jan 2017 20:36:07 +0000 en-US hourly 1 https://wordpress.org/?v=6.3.1 Шпаргалка по синтаксису шаблонов Angular2 https://stepansuvorov.com/blog/2017/01/%d1%88%d0%bf%d0%b0%d1%80%d0%b3%d0%b0%d0%bb%d0%ba%d0%b0-%d0%bf%d0%be-%d1%81%d0%b8%d0%bd%d1%82%d0%b0%d0%ba%d1%81%d0%b8%d1%81%d1%83-%d1%88%d0%b0%d0%b1%d0%bb%d0%be%d0%bd%d0%be%d0%b2-angular2/ https://stepansuvorov.com/blog/2017/01/%d1%88%d0%bf%d0%b0%d1%80%d0%b3%d0%b0%d0%bb%d0%ba%d0%b0-%d0%bf%d0%be-%d1%81%d0%b8%d0%bd%d1%82%d0%b0%d0%ba%d1%81%d0%b8%d1%81%d1%83-%d1%88%d0%b0%d0%b1%d0%bb%d0%be%d0%bd%d0%be%d0%b2-angular2/#respond Sat, 07 Jan 2017 20:26:30 +0000 http://stepansuvorov.com/blog/?p=3197 Continue reading ]]> взято с официальной документации, переведено/переработано.

<input [value]=”firstName”> задание свойства value
<div [attr.role]=”myAriaRole”> задание атрибута role.
<div [class.extra-sparkle]=”isDelightful”> Выставляет класс extra-sparkle по условию isDelightful
<div [style.width.px]=”mySize”> задает значение width в пикселях.
<button (click)=”readRainbow($event)”> Привязывает обраобтчик клика readRainbow
<p>Hello {{ponyName}}</p>
<div title=”Hello {{ponyName}}“>
Подставляет значение выражения
<my-cmp [(title)]=”name”> Двойное связывание, альтернатива: <my-cmp [title]=”name” (titleChange)=”name=$event”>
<video #movieplayer …>
<button (click)=”movieplayer.play()”>
</video>
Создает локальную переменную movieplayer, которая является ссылкой на элемент video
<p *myUnless=”myExpression”>…</p> Символ * превращает текущий элмент во втроенный шаблон: :<template [myUnless]=”myExpression”><p>…</p></template>
<p>Card No.: {{cardNumber | myCardNumberFormatter}}</p> Применение myCardNumberFormatter пайпа.
<p>Employer: {{employer?.companyName}}</p> Указание не обязательного поля с помощью оператора “?
]]>
https://stepansuvorov.com/blog/2017/01/%d1%88%d0%bf%d0%b0%d1%80%d0%b3%d0%b0%d0%bb%d0%ba%d0%b0-%d0%bf%d0%be-%d1%81%d0%b8%d0%bd%d1%82%d0%b0%d0%ba%d1%81%d0%b8%d1%81%d1%83-%d1%88%d0%b0%d0%b1%d0%bb%d0%be%d0%bd%d0%be%d0%b2-angular2/feed/ 0
AngularJS: подружить $httpBackend моки с шаблонами https://stepansuvorov.com/blog/2014/01/angularjs-%d0%bf%d0%be%d0%b4%d1%80%d1%83%d0%b6%d0%b8%d1%82%d1%8c-httpbackend-%d0%bc%d0%be%d0%ba%d0%b8-%d1%81-%d1%88%d0%b0%d0%b1%d0%bb%d0%be%d0%bd%d0%b0%d0%bc%d0%b8/ https://stepansuvorov.com/blog/2014/01/angularjs-%d0%bf%d0%be%d0%b4%d1%80%d1%83%d0%b6%d0%b8%d1%82%d1%8c-httpbackend-%d0%bc%d0%be%d0%ba%d0%b8-%d1%81-%d1%88%d0%b0%d0%b1%d0%bb%d0%be%d0%bd%d0%b0%d0%bc%d0%b8/#respond Wed, 29 Jan 2014 15:12:09 +0000 http://stepansuvorov.com/blog/?p=1413 Continue reading ]]> Если необходимо использовать одновременно mock-сервис $httpBackend(из ngMock или ngMockE2E) и загрузку шаблонов из файлов(которая идет через незамоканы $httpBackend сервис), получаем конфликт с выдачей следующей ошибки:

Error: Unexpected request: GET views/main.html

Которая говорит о том, что наш мок не знает ничего о шаблонах.

Возможны 2 варианта решения:

  1. отказаться вообще от загрузки html файлов (гуглить в тему кеширования шаблонов и html2js) – это позволит не использовать $httpBackend сервис вообще
  2. сделать заглушку на заглушку: дать инструкции мок сервису пропускать запросы на шаблоны. Делается это так: $httpBackend.whenGET(/^tepmlates\//).passThrough();

Полный код второго варианта:

app.run(function ($httpBackend) {
        $httpBackend.whenGET(/^tepmlates\//).passThrough();
});

 

Полезная статья в тему и пример, также обсуждение на SO.

 

]]>
https://stepansuvorov.com/blog/2014/01/angularjs-%d0%bf%d0%be%d0%b4%d1%80%d1%83%d0%b6%d0%b8%d1%82%d1%8c-httpbackend-%d0%bc%d0%be%d0%ba%d0%b8-%d1%81-%d1%88%d0%b0%d0%b1%d0%bb%d0%be%d0%bd%d0%b0%d0%bc%d0%b8/feed/ 0