Вам нужно отключить макет и просмотреть рендеринг.
Явный отключить макет и рендеринг рендеринга:
public function getJsonResponseAction()
{
$this->getHelper('Layout')
->disableLayout();
$this->getHelper('ViewRenderer')
->setNoRender();
$this->getResponse()
->setHeader('Content-Type', 'application/json');
// should the content type should be UTF-8?
// $this->getResponse()
// ->setHeader('Content-Type', 'application/json; charset=UTF-8');
// ECHO JSON HERE
return;
}
Если вы используете помощник действий json controller, вам нужно добавить json контекст к действию. В этом случае помощник json отключит макет и средство визуализации для вас.
public function init()
{
$this->_helper->contextSwitch()
->addActionContext('getJsonResponse', array('json'))
->initContext();
}
public function getJsonResponseAction()
{
$jsonData = ''; // your json response
return $this->_helper->json->sendJson($jsonData);
}
Когда вы хотите стилизовать childs, вы должны использовать ng-deep:
:host::ng-deep widgets-input input{
width: 100%;
max-width: 540px;
height: 42px;
border: solid 1px red;
}
Вы можете добавить ::ng-deep
:
::ng-deep input {
width: 100%;
max-width: 540px;
height: 42px;
border: solid 1px red;
}
PS: Хотя это устарело, альтернативы пока нет, так как официальный документ упомянутый :
Пронзающий теневой комбинатор не рекомендуется, и поддержка удаляется из основных браузеров и инструментов. Поэтому мы планируем отказаться от поддержки в Angular (для всех 3 of / deep /, >>> и :: ng-deep). До тех пор :: ng-deep следует предпочитать для более широкой совместимости с инструментами.
BLOCKQUOTE>