停止Angular JS ng-view擦除页面

Dav*_*osh 4 javascript angularjs

好吧,我需要能够停止ng-view擦除内容,我需要在那里使用ng-view,因为它是唯一一个它不会(也不能)核对整个应用程序的地方.

我内部有一个滚动条,但是当一个人进行搜索时内容会发生变化(应用程序的整个点就是搜索)但只是加载页面Angular会清空ng-view.

有什么方法可以阻止这种默认行为?

tow*_*owr 6

一种不同的(也许更好的*)方法是使用指令获取内容ng-view并在编译(和清除)之前将其存储为模板.

angular.module('myApp', ['ngRoute'])
.directive('foo', ['$templateCache', function($templateCache)
{
    return {
        restrict: 'A',
        compile:  function (element)
        {
            $templateCache.put('bar.html', element.html());
        }
    };
}])
.config(function($routeProvider, $locationProvider) 
{
    $routeProvider.when('/', { templateUrl: 'bar.html' });
});
Run Code Online (Sandbox Code Playgroud)

这样您就不需要包装ng-view脚本标记的内容.

<div ng-app="myApp">    
    <div foo ng-view>
        <ul>
            <li> test1 </li>
            <li> test2 </li>
            <li> test3 </li>
            <li> test4 </li>
        </ul>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/3Dmv4/

*)我自己很有角度,所以我在角度思维方面不够深入,不知道做这些事情是否完全"正确".