我一直在尝试使用 Angular JS 和 jquery mobile 制作一个 CRUD 应用程序,但是我对可折叠组件有一些问题,信息是由 Angular js 正确获取的,但我无法扩展可折叠组件。
我提出了一个指令来进行可折叠的刷新
我得到的错误如下: https://gyazo.com/c35800051e3cdd6d9200a9955c382558
我把代码留在这里:index.html
<!DOCTYPE html>
<html >
<head>
<title>Probando jQuery Mobile</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script>
<script src="logica.js"></script>
</head>
<body ng-app="miapp" ng-controller="controlador">
<!-- Pagina Lista de Prodcuctos -->
<section data-role="page" id="pag_lista_productos">
<header data-role="header" data-theme="b">
<h1>Lista de productos</h1>
</header>
<article data-role="content" class="ui-content" data-theme="c">
<div align="right" data-type="horizontal" data-role="controlgroup" data-theme="c" data-mini='true'>
<a href="#edit_product" data-role="button" data-icon="plus" data-iconpos="right"></a>
</div>
<div data-role="collapsibleset" data-theme="b" data-content-theme="a" id="sitio_lista">
<div data-role='collapsible' data-theme='e' data-content-theme='e' ng-repeat="elemento in lista_productos" actualiza-lista>
<h3>{{elemento.nombre}}</h3>
<form>
<label for='tipo' >Tipo:</label><input type='text' id='tipo' value='{{elemento.tipo}}' disabled>
<label for='categoria'>Categoria::</label><input type='text' id='categoria' value='{{elemento.categoria}}' disabled>
<label for='udm'>UDM:</label><input type='text' id='udm' value='elemento.udm' disabled>
<label for='p_compra'>Precio Venta:</label><input type='text' id='p_venta' value='{{elemento.p_venta}}' disabled>
<label for='p_compra'>Precio Compra:</label><input type='text' id='p_compra' value='{{elemento.p_compra}}' disabled>
<a href='#edit_product' data-role='button' data-theme='d' ind_mod="+index+" class='button_mod'>Modificar</a>
<a href='#aviso_borrar' data-role='button' data-theme='d' ind_del="+index+" class='button_del'>Eliminar</a>
</form>
</div>
</div>
</article>
</section>
</body>
</html>
logica.js --> 带有 Angular js 的文件
//creacion del modulo mi_app
var app = angular.module('miapp',[]);
app.controller('controlador',function($scope){
$scope.lista_productos = []; //Array con la lista de productos
//Constructora del objeto producto
$scope.Producto = function (nombre, tipo, consumible, categoria, udm, p_venta, p_compra, m_coste, pos_comp, pos_vent){
this.nombre = nombre;
this.tipo = tipo;
this.consumible = consumible;
this.categoria = categoria;
this.udm = udm;
this.p_venta = p_venta;
this.p_compra = p_compra;
this.m_coste = m_coste;
this.pos_comp = pos_comp;
this.pos_vent = pos_vent;
};
//Creación e inserción de los productos
$scope.producto1 = new $scope.Producto("cartulina", "papel", true, "categoria1", "Unidades", 2.50, 1, "Fijo", true, false);
$scope.producto2 = new $scope.Producto("boligraf bic", "papel", true, "categoria1", "Unidades", 2.50, 1, "Fijo", true, false);
$scope.producto3 = new $scope.Producto("grapadora", "papel", true, "categoria1", "Unidades", 2.50, 1, "Fijo", true, false);
$scope.lista_productos.push($scope.producto1);
$scope.lista_productos.push($scope.producto2);
$scope.lista_productos.push($scope.producto3);
});
app.directive("actualizaLista", function() {
return function(scope) {
if (scope.$last){
$('#sitio_lista').collapsibleset('refresh');
//$('#sitio_lista').trigger('create').collapsibleset('refresh');
}
};
});
提前致谢