2014-10-16 2 views
0

Я начал с углового вчера, и я хочу иметь .html с некоторое поведение в отдельном файле и добавление его в другие. Например, и я хочу, чтобы настенные сообщения в одном .html, и я хочу иметь возможность добавлять эти стенные сообщения на любую страницу, которую я хочу в определенном теге. Я использовал немного jquery .. Так что я сделал это (но дайджест, похоже, не работает или что-то еще):Загрузите и .html (настенные сообщения) на разные страницы (чтобы у меня были настенные посты на всех страницах, которые я хочу добавить), используя угловой

Это html, который я хочу добавить (я тестирую его самостоятельно, и он работает):

<div ng-app="" ng-controller="customersController"> 

<ul> 
    <li ng-repeat="x in names"> 
    <b> {{ x.texto }}</b> {{x.id }} 
    </li> 
</ul> 
<input type="text" ng-model="tbPost"> 
<button ng-click="publicarPost()">Click Me!</button> 
</div> 

<script> 


function customersController($scope,$http) { 

    $http.post(urlSitio + url , {id_partido : 1}). 
     success(
      function(data, status, headers, config) { 
      $scope.names = data.consulta; 
      $scope.$digest(); 
     }). 
     error(errorCallback); 

} 


</script> 

это, как я добавить его в аа тега в другой странице

// the function that load the .html 
function cargarControl(url,tag){ 
    $.get(urlControl+url, {}, 
     function(content) { 
      $("#"+tag).append(content); 
     }, 'html'); 
} 
// calling that function 
cargarControl("wallPartido", "divPosts"); 
angular.element('customersController').scope().$digest(); 

И он не работает, то страница показывает {{x.texto}} {{}} x.id вместо сообщений ... Я также пробовал $ digest(); но не работает. Как я могу заставить его работать? Если это невозможно сделать таким образом, есть ли еще один? (На самом деле, я бы хотел один без jquery)

EDIT: Я хочу получить один html-файл с некоторым поведением (например, с элементом управления в .net) и иметь возможность встраивать его в отдельный тег на любой другой странице Я хочу. Например, если у меня есть страница, которая содержит все настенные сообщения, я хочу иметь возможность легко вставлять ее в какой-то тег на других страницах. Думайте, что вы строите калькулятор javascript, и вы не хотите вставлять код, но вы хотите вызвать .html, который содержит его, чтобы добавить его на другие страницы.

+0

Я действительно не понимаю, чего вы хотите достичь. Пожалуйста, предоставьте более подробную информацию. – cbass

+0

Вам нужен определенный элемент, который вы можете добавить на любую страницу? – cbass

+0

да !!! Я уже пытался лучше объяснить в новом правлении. Я думаю, что мой английский вроде беден ... извините – Samuel

ответ

1

Рассмотрим следующий пример: http://jsbin.com/xehovigabule/1/watch?html,js,output

Я создал пользовательский директивы которой вы можете добавить на любую страницу.

angular.module('myApp', []) 
    .controller('customersController', customersController); 

function customersController($scope,$http) { 
    $scope.wallposts = [{ 
    texto: "Lorem ipsum" 
    },{ 
    texto: "Dolor sit maet" 
    }, { 
    texto: "Lorem sorem" 
    }]; 

$http.post("http://get.data") 
.success(function(data) { 
     $scope.names = data.consulta; 
}) 
.error(function() { 
    //err 
}); 
} 

angular.module("myApp") 
    .directive("wallPosts", wallPosts); 

function wallPosts() { 
    return { 
     restrict: 'E', 
    templateUrl: "path/to/partial.html", 
    scope: { 
     posts: '=' 
    } 
}; 
} 
Смежные вопросы