Angularjs 1.6.0 (এখনই সর্বশেষ) রুটগুলি কাজ করছে না


98

আমি স্ট্যাকওভারফ্লোতে এই প্রশ্নটি দেখার আশা করছিলাম কিন্তু হয়নি। দৃশ্যত আমিই একমাত্র এই সমস্যাটি পেয়েছি যা আমার কাছে খুব সাধারণ বলে মনে হয়।

আমার একটি বেসিক প্রকল্প রয়েছে যার উপরে আমি কাজ করছি তবে রুটগুলি এখনও কাজ করে না বলে মনে হচ্ছে যদিও আমি এখনও পর্যন্ত যা কিছু করেছি তা সঠিক বলে মনে হচ্ছে।

আমার এই index.htmlফাইলটিতে এইচটিএমএল টুকরা রয়েছে :

<html>
<head ng-app="myApp"> 
    <title>New project</title>
    <script src="https://code.angularjs.org/1.6.0/angular.min.js"></script>
    <script src="https://code.angularjs.org/1.6.0/angular-route.min.js"></script>

    <script src="app.js"></script>
</head>
<body>
    <a href="#/add-quote">Add Quote</a>
    <div ng-view ></div>
</body>
</html>

এবং এখানে আমার app.js:

var app = angular.module('myApp', ['ngRoute']);


app.config(['$routeProvider', function ($routeProvider) {
    $routeProvider
        .when('/add-quote', {
            templateUrl: 'views/add_quote.html',
            controller: 'QuoteCtrl'
        })
        .otherwise({ redirectTo: '/' });
}]);

এখন আমি যখন পৃষ্ঠাটি সন্ধান করি তখন url এ যা পাওয়া যায় তা এখানে:

http: // লোকালহোস্ট: 8000 / অ্যাডমিন #! /

এবং আমি যখন Add quoteবোতামটি ক্লিক করি তখন আমি এটি পাই:

http: // লোকালহোস্ট: 8000 / অ্যাডমিন #! / #% 2 ফ্যাড-কোট

এখানে সমস্যা কী হতে পারে? সাহায্যের জন্য ধন্যবাদ


4
সম্ভবত সম্পর্কিত? github.com/angular/angular.js/commit/…
ক্লাইস

উত্তর:


172

হ্রেফটিতে কেবল হ্যাশবাং ব্যবহার করুন #!:

 <a href="#!/add-quote">Add Quote</a>

Aa077e8 এর কারণে, has লোকেশন হ্যাশ-ব্যাং URL গুলির জন্য ব্যবহৃত ডিফল্ট হ্যাশ-উপসর্গটি ফাঁকা স্ট্রিং ( '') থেকে ব্যাং ( '!') এ পরিবর্তিত হয়েছে ।

আপনি যদি আসলে হ্যাশ-উপসর্গ রাখতে চান না, তবে আপনি নিজের অ্যাপ্লিকেশনটিতে একটি কনফিগারেশন ব্লক যুক্ত করে পূর্ববর্তী আচরণটি পুনরুদ্ধার করতে পারেন:

appModule.config(['$locationProvider', function($locationProvider) {
  $locationProvider.hashPrefix('');
}]);

আরও তথ্যের জন্য, দেখুন


আমার উচ্চ ঘোড়ায় উঠার জন্য দুঃখিত তবে ... এটি কীভাবে মুক্তি পেল? এটি বিশাল, ব্রেক ব্রেকটি। - @ মিলো দ্য গ্রেট

# 14202 দ্বারা ব্রেকিং পরিবর্তনটি আবার ফিরিয়ে নেওয়া উচিত কারণ রেফারেন্সের স্পেসিফিকেশন ইতিমধ্যে সরকারীভাবে নিখরচায়িত করা হয়েছে # 15715

আমি এই সমস্যাটি বন্ধ করতে যাচ্ছি কারণ আমরা কোনও প্রতিক্রিয়া পাইনি। আপনি নতুন প্রতিক্রিয়া সরবরাহ করতে পারলে এই সমস্যাটি পুনরায় খুলতে দ্বিধা বোধ করুন।

- https://github.com/angular/angular.js/issues/15715#issuecomment-281785369


16
আমার উচ্চ ঘোড়ায় উঠার জন্য দুঃখিত তবে ... এটি কীভাবে মুক্তি পেল? এটি বিশাল, ব্রেক ব্রেকটি।
মিলো দ্য গ্রেট

4
@ মিলো দ্য
গ্রেট

39

কেবলমাত্র এর মধ্যে অন্তর্ভুক্ত !করুন href:

<body>
    <a href="#!/add-quote">Add Quote</a>
    <div ng-view ></div>
</body>

8
রাউটিংয়ের অবহেলিত টিউটোরিয়ালগুলির পরে ঘন্টার অপচয়কারী ঘন্টাগুলি .. আমি যে সমস্ত অনুপস্থিত ছিল তা ছিল '!' ধন্যবাদ!
ফিলিপ মেস

হ্যাশ এবং হ্যাশবাং সম্পর্কে জাম্পো মম্পোয়ের সাথে আমি কখনও ভাবিনি ""! একটি অবৈধ চরিত্রের মতো মনে হচ্ছে যা রেফারেন্স ছাড়াই উপস্থিত হয়। এবং আমি যদি কেবল এটি গ্রহণ করি এবং এর অস্তিত্ব স্বীকার করি তবে সমস্যাটি সমাধান হয়ে যেত।
মোহাম্মদ জোরেদ

আমিও ... এই আমাকে পাগল করছে!
ভিক্টরস্পিনা

6

আমি ১.6.৪ এ কাজ করার জন্য রাউটিং পেতে পারি না তাই আমি কৌণিক 1.5.1.11 ব্যবহার করার সিদ্ধান্ত নিয়েছি এবং রাউটিংটি সূক্ষ্ম কাজ করে যদিও "/" অনুসরণ করার সাথে আমার (রা ..) ফাংশনে আমার সমস্ত রাউটিংগুলি সংজ্ঞায়িত করার প্রয়োজন ছিল needed

যদি কৌণিকের কোনও পুরানো সংস্করণে আটকে থাকা আপনার পক্ষে একটি বিকল্প হয় তবে এটি বিবেচনা করুন কারণ এটি আপনার স্নায়ুগুলি সংরক্ষণ করতে পারে ...

var app = angular.module("myApp", ["ngRoute"]);

app.config(function($routeProvider) {
$routeProvider
.when("/layoutandviewbox", {
    templateUrl : "views/layout-and-viewbox.html"
})
.when("/basicshapes", {
    templateUrl : "views/basic-shapes.html"
})
.when("/advancedshapes", {
    templateUrl : "views/advanced-shapes.html"
})
.when("/groups", {
    templateUrl : "views/groups.html"
})
.when("/transformations", {
    templateUrl : "views/transformations.html"
})
.when("/effects", {
    templateUrl : "views/effects.html"
})
.when("/", {
    templateUrl : "views/basic-shapes.html"
});
});

1.5 এ থাকা কীভাবে কৌনিক 2/3/4/5 / ইত্যাদিতে আপগ্রেড করতে প্রভাবিত করে? এনজিউগ্রেড 1.5 থেকে 2+ পর্যন্ত কাজ করে? আমি অনুভূতি করছি এনজিগ্রেড আমাদের পক্ষে কার্যকর হতে পারে না। (হ্যাঁ, এই মন্তব্যটি বেশিরভাগ অদেখা এবং বাতাসে
কাঁপানো হবে

0
app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
  $locationProvider.hashPrefix('');
  $routeProvider
    .when('/add-quote', {
      templateUrl: 'views/add_quote.html',
      controller: 'QuoteCtrl'
    })
    .otherwise({ redirectTo: '/' });
}]);

0

এটি সাহায্য করতে পারে চেষ্টা করুন ...

এইচটিএমএল বা দেখুন পৃষ্ঠাতে

 <body>
       <a href="#/Home.html">Home</a>
       <div ng-view></div>
 </body>

স্ক্রিপ্ট পৃষ্ঠাতে

var app=angular
.module('myModule',['ngRoute'])
.config(function($routeProvider, $locationProvider) {
  $routeProvider
    .when('/Home', {
      templateUrl: 'FolderName/Home.html',
      controller: 'homeCtr'
    })
      $locationProvider.hashPrefix('');
     });
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.