কীভাবে তা দেখানোর জন্য আমি একটি উদাহরণ তৈরি করেছি । আপডেট state
সংজ্ঞাটি হবে:
$stateProvider
.state('home', {
url: '/:foo?bar',
views: {
'': {
templateUrl: 'tpl.home.html',
controller: 'MainRootCtrl'
},
...
}
এবং এটি নিয়ামক হবে:
.controller('MainRootCtrl', function($scope, $state, $stateParams) {
//..
var foo = $stateParams.foo; //getting fooVal
var bar = $stateParams.bar; //getting barVal
//..
$scope.state = $state.current
$scope.params = $stateParams;
})
আমরা যা দেখতে পাচ্ছি তা হল রাজ্যের বাড়ির এখন ইউআরএল সংজ্ঞায়িত হয়েছে:
url: '/:foo?bar',
যার অর্থ, ইউআরএল মধ্যে প্যারামগুলি যেমন প্রত্যাশিত
/fooVal?bar=barValue
এই দুটি লিঙ্ক সঠিকভাবে নিয়ামকের মধ্যে যুক্তিগুলি পাস করবে:
<a ui-sref="home({foo: 'fooVal1', bar: 'barVal1'})">
<a ui-sref="home({foo: 'fooVal2', bar: 'barVal2'})">
এছাড়াও, নিয়ামক $stateParams
পরিবর্তে গ্রাস করে $stateParam
।
দস্তাবেজের লিঙ্ক:
আপনি এটি এখানে পরীক্ষা করতে পারেন
params : {}
এছাড়াও নতুন , আরও দানাদার সেটিং আছে params : {}
। আমরা ইতিমধ্যে দেখেছি, আমরা অংশ হিসাবে পরামিতি ঘোষণা করতে পারেন url
। তবে params : {}
কনফিগারেশন সহ - আমরা এই সংজ্ঞাটি প্রসারিত করতে পারি এমনকি এমন পরামিতিগুলিও প্রবর্তন করতে পারি যা url এর অংশ নয়:
.state('other', {
url: '/other/:foo?bar',
params: {
// here we define default value for foo
// we also set squash to false, to force injecting
// even the default value into url
foo: {
value: 'defaultValue',
squash: false,
},
// this parameter is now array
// we can pass more items, and expect them as []
bar : {
array : true,
},
// this param is not part of url
// it could be passed with $state.go or ui-sref
hiddenParam: 'YES',
},
...
প্যারামের জন্য উপলভ্য সেটিংস $ statePovider এর নথিতে বর্ণিত আছে
নীচে কেবল একটি নির্যাস দেওয়া আছে
- মান - {অবজেক্ট | ফাংশন =} : এই প্যারামিটারের জন্য ডিফল্ট মান নির্দিষ্ট করে। এটি সুস্পষ্টভাবে এই প্যারামিটারটিকে alচ্ছিক হিসাবে সেট করে ...
- অ্যারে - {বুলিয়ান =}: (ডিফল্ট: মিথ্যা) সত্য হলে, পরম মানটিকে মানগুলির একটি অ্যারে হিসাবে বিবেচনা করা হবে।
- স্কোয়াশ - {bool | স্ট্রিং =}: স্ক্র্যাশটি কনফিগার করে যে বর্তমান প্যারামিটার মানটি ডিফল্ট মানের সমান হলে ডিফল্ট প্যারামিটার মানটি কীভাবে ইউআরএলে প্রতিনিধিত্ব করা হয়।
আমরা এই প্যারামগুলিকে এভাবে কল করতে পারি:
// hidden param cannot be passed via url
<a href="#/other/fooVal?bar=1&bar=2">
// default foo is skipped
<a ui-sref="other({bar: [4,5]})">
এখানে কর্মে এটি পরীক্ষা করুন
url:'.../home/:foo/:bar