爲什麼只有在另一視圖中才能執行控制器邏輯?只有在另一視圖中才會執行控制器邏輯
http://jsfiddle.net/J5hRc/128/
如果按兩次的鏈接,該警報顯示,僅第一次。我做錯了什麼?
HTML:
<script type="text/ng-template" id="page1.html">
Page 1
</script>
<script type="text/ng-template" id="page2.html">
Page 2
</script>
<div>
<ul>
<li><a href="#/link1">Page 1</a></li>
<li><a href="#/link2">Page 2</a></li>
</ul>
<div ng-view></div>
</div>
使用Javascript:
var myApp = angular.module('myApp', []);
myApp.controller('MyCtrl1', function($scope) {
alert('controller logic1'); });
myApp.controller('MyCtrl2', function($scope) {
alert('controller logic2'); });
myApp.config(function($routeProvider) {
$routeProvider
.when('/link1', {
controller: 'MyCtrl1',
templateUrl: 'page1.html'
})
.when('/link2', {
controller: 'MyCtrl2',
templateUrl: 'page2.html'
});
});
但如果我這樣做的路線重新加載邏輯觸發了兩次http://jsfiddle.net/J5hRc/130/ – nerlijma 2014-11-24 16:25:52
解決了您的建議,增加了檢查,如果你是在同頁。 http://jsfiddle.net/J5hRc/131/,謝謝 – nerlijma 2014-11-24 17:02:20