tengo este módulo dirige:Perder alcance cuando se utiliza ng-incluir
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'});
}]);
Inicio 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 = "";
};
...
}
En la función de $scope.lineText
addLine
es undefined
, esto puede ser resuelto mediante la adición de ng-controller="HomeCtrl"
-partial1.html
, sin embargo, hace que el controlador se llamará dos veces. ¿Que me estoy perdiendo aqui?
fin entiendo. –
Utilicé ** objetos **, pero el alcance aún estaba enmascarado. Intenté '$ parent' y funcionó muy bien. ¿Por qué lo considera un hack? (Puedo ver que agregaría mantenimiento si refactorizaste tu html) – Jess
La misma pregunta que tuvo @Jess, ¿por qué se considera esto un hack? – qbert65536