想象一下,使用$routeProvider
的多條路線,我們有一個AngularJs應用程序(通過多個控制器,服務,指令和運行方法)。現在我們需要在一個頁面中使用相同的應用程序。這意味着不同路線的模板現在應該同時在一個頁面中可見。如何在單個頁面中運行多路徑角應用程序
我不能使用不同的iframes
,因爲那麼很難從包裝應用程序訪問那些controllers
的$scope
。
這可能不使用iframe
s?
想象一下,使用$routeProvider
的多條路線,我們有一個AngularJs應用程序(通過多個控制器,服務,指令和運行方法)。現在我們需要在一個頁面中使用相同的應用程序。這意味着不同路線的模板現在應該同時在一個頁面中可見。如何在單個頁面中運行多路徑角應用程序
我不能使用不同的iframes
,因爲那麼很難從包裝應用程序訪問那些controllers
的$scope
。
這可能不使用iframe
s?
你在找什麼是ng-include和ng-controller。使用ng-include,你可以在包含它的塊中插入一個html並使用ng-controller,你可以爲同一個塊插入一個控制器。我不希望使用iframe,因爲這是一種不好的做法,您將無法訪問範圍和很多原生的角度功能。
編輯:既然你正在使用的run()函數,你可以試試下面的方法:
保持routeProvider一樣的,你可以HTML模板文件移到你的內容插入腳本標記你的index.html像這樣:
<script type="text/ng-template" id="one.tpl.html">
//Your html template code goes here
</script>
<script type="text/ng-template" id="two.tpl.html">
//Your html template code goes here
</script>
在你app.js:
$routeProvider.
when('/', {
templateUrl: 'one.tpl.html', //points to the content of the script tag in your index.html file
controller: 'onetplCtrl'
}).
when('/edit',{
templateUrl:'two.tpl.html', //points to the content of the script tag in your index.html file
controller:'twotplCtrl'
}).
otherwise({
redirectTo: '/'
});
這是我的第一個想法,問題是我在應用程序中使用'run()'方法,在應用程序中起着至關重要的作用。而且我找不到解決方案來使其採用這種方法。 – Reyraa
然後,您可以使用ng-template將特定模板加載到$ templateCache中,這可以像對html文件的正常引用一樣使用,並且可以使用ngRoute將控制器指向此模板,它將與聲明routeProvider中的everythng一樣工作 –
@Reyraa檢查編輯答案 –
使用的指令? – Ankh
@Ankh如何?你能解釋更多嗎? – Reyraa
這種方式似乎沒有成功。 –