所以我在Umbraco 7中定义了一个自定义部分:
namespace NZ_Realty_Ltd.CRM
{
[Application("crm", "CRM", "trayuser", 8)]
public class CrmSection : IApplication { }
}
它出现了,不用担心。但它需要一个视图和控制器。所以我在控制器上开始了:
angular.module("umbraco").controller("CrmController",
function ($scope, $http) {
$http.get('backoffice/crm/ContactApi/GetAll').success(function (data) {
$scope.contacts = data;
});
});
再次,没问题。我的数据正在从C#CRUD api中读取并被发送回视图。但我想对这些结果进行分页。所以我正在尝试使用此自定义指令来执行此操作:https://github.com/michaelbromley/angularUtils/tree/master/src/directives/pagination
这是我的html视图:
<div ng-controller="CrmController">
<umb-pane>
<p>Page {{currentPage}} / {{totalPages}}</p>
<p>Showing {{pageSize}} items per page:</p>
<ul class="contacts">
<li dir-paginate="contact in contacts | itemsPerPage: 10">
<span>{{contact.name}}</span>
<p>{{contact.bio}}</p>
</li>
</ul>
<dir-pagination-controls></dir-pagination-controls>
</umb-pane>
</div>
问题是没有出现这些表达式(它们都是空白的)。我错过了如何包含分页模块的步骤。实际上我已经坚持了几个小时。我尝试了以下所有方法:
angular.module("umbraco", ['angularUtils.directives.dirPagination']).controller("CrmController",
function ($scope, $http) {
$http.get('backoffice/crm/ContactApi/GetAll').success(function (data) {
$scope.contacts = data;
});
});
...仅包含来自<script>
标签的指令javascript文件。但我真的不知道我在做什么,也不太了解模块语法(我已经阅读了很多次的分页演示,但它似乎与使用umbraco angularjs应用程序有所不同)。我在文档中看到,包括第二个参数意味着你正在创建一个新模块。但是[]中的信息与第二个参数的相关性是什么?为什么我要创建一个新模块?我不能只包含现有指令吗?
angular.module("angularUtils.directives.dirPagination");
angular.module("umbraco").controller("CrmController",
function ($scope, $http) {
$http.get('backoffice/crm/ContactApi/GetAll').success(function (data) {
$scope.contacts = data;
$scope.currentPage = 1;
$scope.pageSize = 10;
});
});
答案 0 :(得分:1)
您可以在控制器启动之前添加它:
app.requires.push('angularUtils.directives.dirPagination');