我有這個模塊路線:使用時失去範圍NG-包括
var mainModule = angular.module('lpConnect', []).
config(['$routeProvider', function ($routeProvider) {
$routeProvider.
when('/home', {template:'views/home.html', controller:HomeCtrl}).
when('/admin', {template:'views/admin.html', controller:AdminCtrl}).
otherwise({redirectTo:'/connect'});
}]);
首頁HTML:
<div ng-include src="views.partial1"></div>
partial1
HTML:
<form ng-submit="addLine()">
<input type="text" ng-model="lineText" size="30" placeholder="Type your message here">
</form>
HomeCtrl
:
function HomeCtrl($scope, $location, $window, $http, Common) {
...
$scope.views = {
partial1:"views/partial1.html"
};
$scope.addLine = function() {
$scope.chat.addLine($scope.lineText);
$scope.lines.push({text:$scope.lineText});
$scope.lineText = "";
};
...
}
在addLine
函數$scope.lineText
是undefined
,這可以通過將ng-controller="HomeCtrl"
添加到partial1.html
來解決,但它會導致控制器被調用兩次。我在這裏錯過了什麼?
最後我明白了。 – 2013-03-22 03:09:29
我使用了**對象**,但它們的範圍仍然被遮罩。我試過'$ parent.',它運行得很好。你爲什麼認爲這是一個黑客? (我可以看到它會增加維護,如果你重構你的html) – Jess 2013-09-25 16:08:52
@Jess有同樣的問題,爲什麼這被認爲是黑客? – qbert65536 2013-12-20 18:29:26