6

純粋な JavaScript から $compile を使用する方法はありますか? 基本的なjavascriptとAngularを使用している場所を組み合わせており、次のような方法を見つけることができません: http://jsfiddle.net/DavidSlavik/bFdcJ/1/

$compile を使用する必要があると思いますが、スコープがない場所からです。

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

function ExpensesCtrl($scope) {

    // Here are some master functions...    

}    


$(function () {

   // Here is the Ajax function that returns html from my MVC action processed with Razor
   // Here I'm not using AngularJS and scopes...
   var htmlFromAjax = '<div id="mapOrder" ng-controller="sortable"><div ng-repeat="item in SortItems">{{item.Title}}</div></div>';
   $('body').append(htmlFromAjax);

});

function sortable($scope, $http, $element) {

    // Here is the Ajax function that return JSON object. For example it is commented and used static variable SortItems in scope.
    //$http.get('someUrlWitchReturnsJsonObject')
    //    .success(function (e) {
    //        $scope.SortItems = e;
    //    });

    $scope.SortItems = JSON.parse('[{"Title":"ddddddd","MapId":5,"Order":0},{"Title":"Moje mapa","MapId":3,"Order":2},{"Title":"asdas","MapId":4,"Order":3},{"Title":"asds","MapId":7,"Order":4},{"Title":"Pokus","MapId":8,"Order":5},{"Title":"Hello world!!!","MapId":1,"Order":10}]');
4

2 に答える 2

9
angular.bootstrap($("#targetElmForApp")[0], ["myApp"]);

説明:

angular.bootstrap(rootElementForApp, arrayOfModulesForTheApp)

最初のパラメーターは、アプリのルート要素を設定します。これは、ng-appそれ以外の場合はディレクティブを使用して行うことです。

2 番目のパラメーターは、アプリケーションを定義するモジュールのリストです。これは通常、アプリが定義されている単一のモジュールです。

したがって、私たちが行ったことは次と同じです。

<div id="targetElmForApp" ng-app="myApp"></div>

参照:
http://docs.angularjs.org/api/angular.bootstrap
http://docs.angularjs.org/guide/bootstrap

于 2013-03-06T13:39:04.233 に答える
0

この投稿の別の方法: AngularJS + JQuery : 動的コンテンツを angularjs で動作させる方法

        angular.element(document).injector().invoke(function ($compile) {
                var container = $('#some-dom-element');
                var scope = angular.element(container).scope();
                $compile(container)(scope);
        });
于 2014-07-25T11:50:47.647 に答える