Это нормально? Например, что, если я создаю настраиваемую директиву, которая содержит весь HTML для логотипа веб-сайтов, панели поиска и навигации. А потом у меня есть другая директива, содержащая нижний колонтитул моих сайтов. Поэтому каждый файл.html будет выглядеть примерно так:
<html>
<head>
head stuff
</head>
<website-header></website-header>
This page individual content.
<website-footer></website-footer>
</html>
Будет ли это работать, и будет ли это рекомендовано? Я еще не пробовал.
Моя первая идея состояла в том, чтобы использовать ng-include и просто включать HTML файлы заголовка и нижнего колонтитула, но по какой-то причине мне трудно заставить HTML внутри этих ng-включенных html файлов визуализироваться под действием любого JavaScript. Поэтому, если я использовал jQuery, чтобы сделать мою навигацию более интерактивной, ни одна из этих интерактивностей не работала, но у меня не было ошибок.
Можно ли использовать такие директивы? Или есть только какой-то другой очевидный способ сделать это с помощью Angular? Будет ли HTML-элемент, отображаемый на странице, все еще затронут JavaScript, как если бы все элементы были закодированы в HTML для начала?
Если это нормально, есть ли какие-нибудь стандарты? Любые ошибки, или просто другая информация, которую было бы полезно знать?
Я не вижу проблем с этим подходом. Я бы даже предложил сделать это для элемента <head></head>
чтобы вы могли передавать значения, относящиеся к странице, в область видимости:
<website-head title="This Page Title"></website-head>
Обратите внимание, что создание сайта в Angular может стать жестким/странным, если вы делаете более одной страницы. Вы можете использовать Angular routing для этого, но это может привести к "уродливому" URL-адресу, например "www.website.com/#/about".
Угловой в основном используется для создания веб-приложений, PHP (например, уже предложенный TheGuyWhoCodes) может лучше в вашей ситуации. Самое большое различие между ними заключается в том, что PHP обрабатывает его на стороне сервера, и это имеет много преимуществ для веб-дизайна (думаю, SEO, который не всегда отлично обрабатывает входящий в интерфейс контент). Это некоторые вещи, о которых нужно подумать при создании веб-сайта в Angular.
#
в URL, маршрутизация очень хорошо работает для создания многостраничного веб-сайта с угловым. В конце концов, это фреймворк MVC (MVVM с контроллером)
Я использую директиву для моего верхнего и нижнего колонтитулов с угловым. работать очень хорошо
пример моей директивы заголовка:
directives.directive('header', function () {
return {
restrict: 'A', //This means that it will be used as an attribute and NOT as an element.
replace: false,
scope: {},
templateUrl: "partials/elements/header.html",
controller: ['$scope', '$filter', function ($scope, $filter) {
// Your behaviour goes here :)
}]
}
});
Вы также можете использовать ng-include
как это (но директива имеет собственный контроллер)
<div ng-include="'partials/elements/header.html'" />
Это нормально использовать. Если вы хотите/если вы можете использовать его, попробуйте php с его функцией include. Это держит вещи действительно красиво организованы! Поэтому вы можете сделать что-то вроде этого:
<?php include("meta.php"); ?>
<?php include("header.php"); ?>
<body>
Content.
</body
<?php include("footer.php"); ?>