Я создаю приложение, в котором запрос Ajax извлекает список пакетов с сервера и отображает их. < /p>
Директива должна делать 2 вещи: < /p>
1- Извлекать данные с сервера с помощью запроса Ajax, когда элемент нажимается < /p>
2- Поберите какой-то html из других мест на странице и вставьте его в следующем месте. Проблема: при нажатии на пакет запрос Ajax получает данные от сервера, а DOM манипулируют. Я также вижу, что переменная Scope $ scope.packagedetails обновляется в контроллере. Но изменения не отражаются с учетом. однако, если я нажму еще раз на пакет, представление обновляется на этот раз. Это казалось наиболее распространенной проблемой для других разработчиков, но не решало мою проблему. < /P>
попробовал использовать NG-клик в элементе, но не удачи. />/*
an array that creates the rows and columns
$scope.packageList = [];
*/
$scope.getPackageDetails = function (packageId) {
console.log('get details for ' + packageId);
ajaxService.getPackageDetails(packageId).then(function (data) {
if (parseInt(data.ResponseStatus, 10) === 0) {
$scope.packageDetails = data.Packages;
// i have tried $scope.$apply() here; doesn't work
}
});
< /code>
Просмотр < /p>
{{package.Name}}
< /code>
Директива < /p>
epApp.directive('packageDetails', function () {
return {
scope:
{
hasResponse: '=hasResponse',
click: '=click'
},
link: function (scope, elem, attrs) {
if (scope.$parent.$last) {
$(elem).parent('div.row').find('div.onePackage').on('click', function () {
/* some dom manipulation */
var packages_content = jQuery('.packages_widget_append').html();
jQuery(this).closest(".row").after(packages_content);
/* called parent controller function to get the details*/
console.log('clicked ' + parseFloat(attrs.packageId));
scope.click(parseFloat(attrs.packageId));
// i have tried $scope.$apply() here as well; doesn't work
});
}
}
}
});
< /code>
Пожалуйста, помогите. < /p>
Спасибо. < /p>
Подробнее здесь: https://stackoverflow.com/questions/308 ... pdate-view
Вызовая функция контроллера из директивы не обновляет представление ⇐ Jquery
Программирование на jquery
-
Anonymous
1750626004
Anonymous
Я создаю приложение, в котором запрос Ajax извлекает список пакетов с сервера и отображает их. < /p>
Директива должна делать 2 вещи: < /p>
1- Извлекать данные с сервера с помощью запроса Ajax, когда элемент нажимается < /p>
2- Поберите какой-то html из других мест на странице и вставьте его в следующем месте. Проблема: при нажатии на пакет запрос Ajax получает данные от сервера, а DOM манипулируют. Я также вижу, что переменная Scope $ scope.packagedetails обновляется в контроллере. Но изменения не отражаются с учетом. [b] однако, если я нажму еще раз на пакет, представление обновляется на этот раз. Это казалось наиболее распространенной проблемой для других разработчиков, но не решало мою проблему. < /P>
попробовал использовать NG-клик в элементе, но не удачи. />/*
an array that creates the rows and columns
$scope.packageList = [];
*/
$scope.getPackageDetails = function (packageId) {
console.log('get details for ' + packageId);
ajaxService.getPackageDetails(packageId).then(function (data) {
if (parseInt(data.ResponseStatus, 10) === 0) {
$scope.packageDetails = data.Packages;
// i have tried $scope.$apply() here; doesn't work
}
});
< /code>
Просмотр < /p>
{{package.Name}}[/b]
< /code>
Директива < /p>
epApp.directive('packageDetails', function () {
return {
scope:
{
hasResponse: '=hasResponse',
click: '=click'
},
link: function (scope, elem, attrs) {
if (scope.$parent.$last) {
$(elem).parent('div.row').find('div.onePackage').on('click', function () {
/* some dom manipulation */
var packages_content = jQuery('.packages_widget_append').html();
jQuery(this).closest(".row").after(packages_content);
/* called parent controller function to get the details*/
console.log('clicked ' + parseFloat(attrs.packageId));
scope.click(parseFloat(attrs.packageId));
// i have tried $scope.$apply() here as well; doesn't work
});
}
}
}
});
< /code>
Пожалуйста, помогите. < /p>
Спасибо. < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/30801557/calling-controller-function-from-directive-does-not-update-view[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия