私はresizeイベントとしてtemplateUrlを変更する方法を探していました。"more then one"のtemplateUrlをAngularJSのディレクティブで変更します
Change the templateUrl of directive based on screen resolution AngularJS
MR投稿者: 私はリンクで答えを見つけました。 "Dfsq"。これは、同じプロセスを2つの異なるテンプレートURLで同時に実行する必要があるときまでうまくいきました。動作しませんでした。 ディレクティブを削除すると、別のディレクティブが削除されます。
私が間違っていると思います。
プランカが続きます。 Plunker Example Here!
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
});
angular.module('plunker')
.directive('browseContent', function($window) {
return {
restrict: 'E',
template: '<div ng-include="templateUrl"></div>',
link: function(scope) {
$window.onresize = function() {
changeTemplate();
scope.$apply();
};
changeTemplate();
function changeTemplate() {
var screenWidth = $window.innerWidth;
if (screenWidth < 768) {
scope.templateUrl = 'browse-content-mobile.html';
} else if (screenWidth >= 768) {
scope.templateUrl = 'browse-content.html';
}
}
}
}
})
.directive('segundoContent', function($window) {
return {
restrict: 'E',
template: '<div ng-include="templateUrl2"></div>',
link: function(scope) {
$window.onresize = function() {
changeTemplate2();
scope.$apply();
};
changeTemplate2();
function changeTemplate2() {
var screenWidth = $window.innerWidth;
if (screenWidth < 768) {
scope.templateUrl2 = 'segundoContent.html';
} else if (screenWidth >= 768) {
scope.templateUrl2 = 'segundoContent-mobile.html';
}
}
}
}
});
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>
document.write('<base href="' + document.location + '" />');
</script>
<link rel="stylesheet" href="style.css" />
<script data-require="[email protected]" src="https://code.angularjs.org/1.2.22/angular.js" data-semver="1.2.22"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<browse-content></browse-content>
<segundo-content></segundo-content>
</body>
</html>
私は
ディレクティブのメソッドを追加しました。両方とも機能しなくなりました。 それらを追加する場所は何ですか? ありがとうございます。 sr。 Pankaj – Lovera
コミュニケーション中に英語を堪能できますか? –
@ user3403205最新のコードとplunkrもご覧ください。Thanks :) –