আমি AngularJS ব্যবহার করে একটি গতিশীল ওয়েব অ্যাপ তৈরি করছি। ng-view
একটি টেম্পলেটে একাধিক থাকা কি সম্ভব ?
আমি AngularJS ব্যবহার করে একটি গতিশীল ওয়েব অ্যাপ তৈরি করছি। ng-view
একটি টেম্পলেটে একাধিক থাকা কি সম্ভব ?
উত্তর:
আপনি কেবল একটি পেতে পারেন ng-view
।
: আপনি বিভিন্নভাবে এর বিষয়বস্তু পরিবর্তন করতে পারেন ng-include
, ng-switch
ম্যাপিং বিভিন্ন কন্ট্রোলার এবং routeProvider মাধ্যমে টেমপ্লেট বা।
ng-show
এবং ng-hide
তাদের দৃশ্যমানতা নিয়ন্ত্রণ করা কি ভাল নয় ? কারণ মাঝে মাঝে আমি একাধিক উপাদানগুলি লুকিয়ে / দেখানো পছন্দ করতে পারি
ইউআই-রাউটার এমন একটি প্রকল্প যা সহায়তা করতে পারে: https://github.com/angular-ui/ui-router এর বৈশিষ্ট্যগুলির মধ্যে একটি হ'ল একাধিক নামযুক্ত দর্শন
ইউআই-রাউটারের অনেকগুলি বৈশিষ্ট্য রয়েছে এবং আপনি যদি উন্নত অ্যাপে কাজ করে থাকেন তবে আমি আপনাকে এটি ব্যবহার করার পরামর্শ দিচ্ছি।
একাধিক নামযুক্ত দর্শনের ডকুমেন্টেশন এখানে দেখুন ।
আমি বিশ্বাস করি আপনি একা থাকার মাধ্যমে আপনি এটি সম্পাদন করতে পারবেন ng-view
। প্রধান টেমপ্লেটে আপনার ng-include
উপ-দর্শনগুলির জন্য বিভাগ থাকতে পারে , তারপরে প্রধান নিয়ামকটিতে প্রতিটি উপ টেমপ্লেটের জন্য মডেল বৈশিষ্ট্যগুলি সংজ্ঞায়িত করতে হয়। যাতে তারা স্বয়ংক্রিয়ভাবে ng-include
বিভাগগুলিতে আবদ্ধ হয় । এটি একাধিক থাকার সমানng-view
আপনি দেওয়া উদাহরণটি পরীক্ষা করতে পারেন ng-include
ডকুমেন্টেশনে
উদাহরণস্বরূপ আপনি যখন ড্রপডাউন তালিকা থেকে টেমপ্লেট পরিবর্তন করেন তখন এটি সামগ্রী পরিবর্তন করে। এখানে ধরে নিন যে আপনার একটি প্রধান রয়েছে ng-view
এবং ড্রপ ডাউন নির্বাচন করে ম্যানুয়ালি সাব কন্টেন্ট নির্বাচন করার পরিবর্তে, আপনি প্রধান ভিউ লোড হওয়ার সময় এটি করেন।
ng-include
ডকুমেন্টেশনের উদাহরণের মতো নিয়ন্ত্রণকারীর মধ্যে কাস্টম লজিক ব্যবহার করে ঘটতে পারি , তবে এটি পছন্দসই অ্যাপ্লিকেশন আর্কিটেকচার প্যাটার্ন নয়, ইউআই-রাউটারটি সঠিক ধরণের সমাধান।
নিয়মিত ব্যবহার ng-view
মডিউল আপনার একাধিক গতিশীল টেম্পলেট থাকতে পারে না।
তবে, এই প্রকল্পটি আপনাকে এটি করতে সক্ষম করে (সন্ধান করুন ui-router
)।
একাধিক বা নেস্টেড মতামত পাওয়া সম্ভব। কিন্তু এনজি-ভিউ দ্বারা নয়।
কৌণিক এ প্রাথমিক রাউটিং মডিউল একাধিক দর্শন সমর্থন করে না। তবে আপনি ইউআই-রাউটার ব্যবহার করতে পারেন। এটি তৃতীয় পক্ষের মডিউল যা আপনি গিথুব, কৌণিক-ইউআই / ইউআই-রাউটার, https://github.com/angular-ui/ui-router এর মাধ্যমে পেতে পারেন । এছাড়াও বর্তমানে এনজিআরটার (এনজিউউউউউটার) এর একটি নতুন সংস্করণ বিকাশ করা হচ্ছে। এই মুহূর্তে এটি স্থিতিশীল নয়। তাই আমি আপনাকে ইউআই-রাউটার সহ একটি সহজ শুরুর উদাহরণ সরবরাহ করি। এটি ব্যবহার করে আপনি দর্শনগুলির নাম রাখতে পারেন এবং নির্দিষ্ট করতে পারেন যে কোন টেম্পলেট এবং নিয়ন্ত্রকগুলি তাদের রেন্ডার করার জন্য ব্যবহার করা উচিত। $ StatePovider ব্যবহার করে আপনার নির্দিষ্ট করে দেওয়া উচিত যে স্থানের স্থানগুলি কীভাবে নির্দিষ্ট রাজ্যের জন্য রেন্ডার করা উচিত।
<body ng-app="main">
<script type="text/javascript">
angular.module('main', ['ui.router'])
.config(['$locationProvider', '$stateProvider', function ($locationProvider, $stateProvider) {
$stateProvider
.state('home', {
url: '/',
views: {
'header': {
templateUrl: '/app/header.html'
},
'content': {
templateUrl: '/app/content.html'
}
}
});
}]);
</script>
<a ui-sref="home">home</a>
<div ui-view="header">header</div>
<div ui-view="content">content</div>
<div ui-view="bottom">footer</div>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.js">
</body>
আপনার এই নমুনার জন্য অ্যাংুলারজ, এবং কৌণিক- ui.router উল্লেখ করতে হবে।
$ bower install angular-ui-router
আপনার একাধিক এনজি-ভিউ থাকতে পারে না। নীচে আমার ব্যবহারের ক্ষেত্রে যেখানে আমি আমার প্রয়োজনীয়তা সমাধান করেছি। আমি আমার মডেল কথোপকথনে ট্যাবড আচরণ করতে চাই। হাইপারলিংকযুক্ত ট্যাবগুলিতে ক্লিক করার কারণে আমি সমস্যার মুখোমুখি হয়েছি যা রাউটারের লিঙ্কগুলি ডেকে আনবে। আমি ট্যাবগুলির জন্য বোতাম এবং সিএসএস ব্যবহার করে এটি সমাধান করেছি। ব্যবহারকারী যখন ট্যাবে ক্লিক করেন, এটি আসলে কোনও হাইপারলিংক কল করবে না যা সর্বদা এনজি-রাউটারকে অনুরোধ করবে। ব্যবহারকারীরা যখন ট্যাবে ক্লিক করেন তখন এটি একটি পদ্ধতিতে কল করবে, যেখানে আমি এইচটিএমএল লোড করি illy নীচে ট্যাব ক্লিক ক্লিক করুন
self.submit = function(form) {
$templateRequest('resources/items/employee/test_template.html').then(function(template){
var compiledeHTML = $compile(template)($scope);
$("#d").replaceWith(compiledeHTML);
});
ব্যবহারকারী $ টেমপ্লেট-রিকুয়েস্ট। Test_template.html পৃষ্ঠায় আপনার এইচটিএমএল সামগ্রী যুক্ত করুন। এই এইচটিএমএল সামগ্রীটি আপনার নিয়ামকের সাথে আবদ্ধ হবে।