angularjs-同一控制器,不同路线的不同方法/变量
是否有一种方法可以使用相同的控制器,但为不同的路由公开不同的作用域方法/变量angularjs-同一控制器,不同路线的不同方法/变量,angularjs,angular-ui-router,Angularjs,Angular Ui Router,是否有一种方法可以使用相同的控制器,但为不同的路由公开不同的作用域方法/变量 我目前正在使用ui路由器,希望为/new、/edit、/delete公开不同的方法/变量。您可以让所有路由指向同一控制器,但在控制器中使用$stateparms来确定需要调用哪个方法。你觉得没必要比这更难吗?除非我误解了这个问题。您可以让所有路由指向同一个控制器,但在控制器中使用$stateparms来确定需要调用哪个方法。你觉得没必要比这更难吗?除非我误解了这个问题。是的 使用ui路由器 angular.module
我目前正在使用ui路由器,希望为
/new
、/edit
、/delete
公开不同的方法/变量。您可以让所有路由指向同一控制器,但在控制器中使用$stateparms来确定需要调用哪个方法。你觉得没必要比这更难吗?除非我误解了这个问题。您可以让所有路由指向同一个控制器,但在控制器中使用$stateparms来确定需要调用哪个方法。你觉得没必要比这更难吗?除非我误解了这个问题。是的
使用ui路由器
angular.module("myModule")
.controller("myController",function($scope,$stateParams){
if ($stateParams.mySubView === "/new") {
$scope.hello = function(){alert("Hello")};
} else {
$scope.hello = function(){alert("Hi")};
}
})
对
使用ui路由器
angular.module("myModule")
.controller("myController",function($scope,$stateParams){
if ($stateParams.mySubView === "/new") {
$scope.hello = function(){alert("Hello")};
} else {
$scope.hello = function(){alert("Hi")};
}
})
使用相同的模板但使用不同的控制器不是更有意义吗 使用相同的模板但使用不同的控制器不是更有意义吗 是的,那很好用。我想知道是否有一种方法可以将更多的逻辑移到
$stateProvider
中,在这里我可以指定一个方法来调用一个包含所有变量和$scope methods的函数,这将非常有效。我想知道是否有一种方法可以将更多的逻辑移到$stateProvider
中,在这里我可以指定一个方法来调用一个包含所有变量的函数,$scope方法我同意你的观点,我相信同一个控制器行为不同肯定会违反开闭原则。我同意你的观点,我相信同一个控制器行为不同肯定会违反开闭原则。