26.03.2017, 20:00
|
Новичок на форуме
|
|
Регистрация: 26.03.2017
Сообщений: 8
|
|
Подгрузка страницы с js
Всем привет, только начал разбираться с angular, прошу строго не судить. Попрошу Вас пояснить, почему не подгружается js, в следующем случае:
var app = angular.module("app", ["ngRoute"])
.config(function ($routeProvider) {
$routeProvider
.when("/", {
template: "Main!",
controller: "homeController" })
.when("/Application", {
templateUrl: "info.html",
controller: "playersController" })
})
.controller("homeController", function ($scope) {
$scope.message = "Home Page"; })
.controller("playersController", function ($scope, $http) {
$http.get("info.json")
.then(function (response) {
$scope.players = response.data;
})
})
Соответственно когда перехожу на /Application ( templateUrl: "info.html" ) не грузится скрипт, который находится в info.html, разметка в свою очередь подгружается корректно.
Спасибо!
|
|
27.03.2017, 09:22
|
Новичок на форуме
|
|
Регистрация: 26.03.2017
Сообщений: 8
|
|
Да, не спорю, тут работает абсолютно все как нужно, но у меня вопрос не в этом был. Я на страницу index.php с помощью ангуляра подгружаю страницу info.html, где в свою очередь есть скрипт, допустим alert('gogogo'); Если я напрямую захожу на info.html, то скрипт срабатывает, а если подгружаю страницу info.html через ангуляр, то скрипт не срабатывает, но через инспектор в хроме видно, что данный скрипт там есть.
|
|
27.03.2017, 09:43
|
|
Профессор
|
|
Регистрация: 18.05.2011
Сообщений: 1,207
|
|
blvckmeister,
Сложно сказать по тем данным, которые вы предоставляете. То есть с точки зрения англуяра - всё ок. Что там у вас делает php код непонятно. Возможно вы не настроили свой бэкэнд так, чтобы он на все запросы <имя_приложения>/blablabla, отдавал вашу точку входа в приложение. Для Node.js
/* change server routing by angular ui router */
app.use('/superapp', function(req, res) {
res.sendFile(path.join(__dirname, 'app_client', "build", 'index.html'));
});
Цитата:
|
подгружаю страницу info.html, где в свою очередь есть скрипт, допустим alert('gogogo')
|
Там не должно быть никакого скрипта. Там разметка. Логику выносим в контроллер.
|
|
27.03.2017, 10:03
|
Новичок на форуме
|
|
Регистрация: 26.03.2017
Сообщений: 8
|
|
Сообщение от destus
|
Там не должно быть никакого скрипта. Там разметка. Логику выносим в контроллер.
|
Вооот, я как раз про это, т.е. получается, если я подгружаю разные страницы с помощью ngRoute, то те страницы, которые я подгружаю не должны содержать JS, т.к. он не будет срабатывать, потому что по логике ангуляра весь JS должен быть в контроллере главной страницы, так?
|
|
27.03.2017, 10:51
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Сообщение от blvckmeister
|
так?
|
нет, чтобы скрипт сработал его надо "вырезать и создать занового", логика ангуляра тут не причём.
|
|
27.03.2017, 11:06
|
Новичок на форуме
|
|
Регистрация: 26.03.2017
Сообщений: 8
|
|
Сообщение от рони
|
нет, чтобы скрипт сработал его надо "вырезать и создать занового", логика ангуляра тут не причём.
|
Хорошо, как "вырезать и создать заново" при использовании ангуляра?
Я не понимаю почему когда я например подгружаю страницу аяксом в какое-то место разметки, то эта страница подгружается вместе с рабочими скриптами, когда я получаю эту же страницу ангуляром методом $http.get("info.php"), то скрипт который в info.php не срабатывает, в отличии от аякса.
|
|
27.03.2017, 11:21
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,109
|
|
Сообщение от blvckmeister
|
подгружаю страницу аяксом
|
jQuery?
|
|
27.03.2017, 11:55
|
Новичок на форуме
|
|
Регистрация: 26.03.2017
Сообщений: 8
|
|
Сообщение от рони
|
jQuery?
|
Ага
|
|
27.03.2017, 12:06
|
Новичок на форуме
|
|
Регистрация: 26.03.2017
Сообщений: 8
|
|
Ссылка на полный проект
Давайте так, https://plnkr.co/edit/tiJBRTD4DB7fTG685toF?p=preview
Вот сам проект, проблема в том, что графики по ссылке Application не всегда загружаются, нужно "тыркать" туда-сюда по меню слева, пока во вкладке Application в блоках не прогрузятся графики, в чём проблема? Как подружать скрипт так, чтобы он работал стабильно?
Спасибо ещё раз.
|
|
|
|