처음으로 지시문을 가지고 노는 중입니다. 클릭 가능한 행이있는 목록을 만들려고하는데 많은 일을하지는 못하고 있지만 지시어로 모델을 가져 오는 방법을 파악하려고 노력하고 있습니다.모델을 내 지시문에 어떻게 가져 옵니까?
var tsUui=angular.module('ts-user-ui',[]);
tsUui.directive('userList', function(){
return{
restrict: 'A',
template: '<table>'+
'<tr>'+
'<th>User Name</th>'+
'<th>First Name</th>'+
'<th>Last Name</th>'+
'<th>Email Address</th>'+
'</tr>'+
'<tr ng-repeat="user in '+users+'" ng-click="selectUser(user, $event)">'+
'<td>{{user.UserName}}</td>'+
'<td>{{user.FirstName}}</td>'+
'<td>{{user.LastName}}</td>'+
'<td>{{user.Email}}</td>'+
'</tr>'+
'</table>',
scope:{
selectedUser: '=',
users: '='
},
link: function (scope, elem, attrs){
var users=attrs.usersModel;
scope.selectedUser = function(user, event){
event.stopPropagation&&event.stopPropagation();
event.preventDefault&&event.preventDefault();
event.cancelBubble=!0;
event.returnValue=!1;
selectedUser=user;
};
}
}
});
내가 여기까지 설정이 있습니다 : 여기
는 지침의<div user-list data-users-model="Users"></div>
을하고 페이지가이 컨트롤러 사용
function userListController($scope, User){
$scope.users = User.query();
}
tsAdminApp.controller('userListController', ['$scope', 'User', userListController]);
이 서비스를 사용
angular.module('userServices', ['ngResource']).
factory('User', function($resource){
return $resource('/admin/user/service',{}, {
query: {method:'GET', params:{},isArray:true}
});
});
지시어없이 목록을 구현했기 때문에 컨트롤러와 서비스 작업을 알고 있습니다. 내가 지시와 콘솔 페이지를 불러
오류를 제공합니다 : 사용자가 정의되지 않은 템플릿 내 지시에 라인을 가리키는 : 내 사용자가 거기에 자원 어떻게합니까 '<tr ng-repeat="user in '+users+'" ng-click="selectUser(user, $event)">'+
?
어리석은 질문인데, '$ scope.results'가'$ scope.Users'가 아니겠습니까? 또한 나는'+ users +'가 정확하다고 생각하지 않으며'var users'는'userList'가 아닌'attrs.usersList'이어야합니다. 그것은 어쨌든 시작입니다. –
그것은 훌륭한 지적입니다. 저는 이전에 사용자에게 결과를 사용하고있었습니다. – Snowburnt