獲取變量我看到這個文檔:http://docs.angularjs.org/api/ng.directive:ngHref從URL中AngularJS
這清楚地表明,你可以基於在輸入值操縱URL。
但我想做相反的事情。我想擁有http://www.example.com/5
並將5
提供給我可以在我的控制器中使用的變量。
我該怎麼做?
獲取變量我看到這個文檔:http://docs.angularjs.org/api/ng.directive:ngHref從URL中AngularJS
這清楚地表明,你可以基於在輸入值操縱URL。
但我想做相反的事情。我想擁有http://www.example.com/5
並將5
提供給我可以在我的控制器中使用的變量。
我該怎麼做?
使用$ routeParams服務獲取該ID。
看到作爲一個例子
angular.module('myApp', []).config(function ($routeProvider, $routeParams) {
$routeProvider.when('/:id', {templateUrl: 'example.html', controller: 'exampleCtrl'});
});
並獲得ID。在你的控制器中的變量用戶$ routeParams。
myApp.controller('exampleCtrl', function($scope, $routeParams) {
alert($routeParams.id);
});
對不起,我剛剛看到這一點。我會試試這個,並讓你知道它是否有效。謝謝! – itamar
我會從我的控制器調用服務,然後根據該函數的輸出分配範圍。
如果您已有{chapterId:1,sectionId:2,搜索:'moby'}的值,則可以將它們分配到共享範圍,或將它們緩存到服務中,並在調用時檢索它們您的其他控制器
您可以使用[__ $ routeParams__(http://docs.angularjs.org/api/ngRoute.$routeParams) – Satpal
@Satpal感謝 - 但我htink的文檔是有些不完整。我是否真的將'$ routeParams ==> {chapterId:1,sectionId:2,search:'moby'}'插入到我的控制器中?這似乎不是完整的實施。 – itamar
一個很好的例子http://stackoverflow.com/questions/11534710/angularjs-how-to-use-routeparams-in-generating-the-templateurl – Satpal