Javascript angularjs-向每个控制器的作用域动态添加一个变量
我想在所有控制器的范围内添加一个全局可行的 我可以在每个控制器中手动执行,如 如果变量为Javascript angularjs-向每个控制器的作用域动态添加一个变量,javascript,angularjs,Javascript,Angularjs,我想在所有控制器的范围内添加一个全局可行的 我可以在每个控制器中手动执行,如 如果变量为 <script> var base_url ="http://localhost/myapp/"; </stript> 我也可以使用$rootScope或服务 但是我想动态地将这个变量添加到每个控制器的作用域中。所以,有什么可能的方法可以做到这一点吗?有一个基本标记,它支持angular,以确保javascript模板中的每个URL,$http,。。。将相对于那个。所以你可
<script>
var base_url ="http://localhost/myapp/";
</stript>
我也可以使用$rootScope或服务
但是我想动态地将这个变量添加到每个控制器的作用域中。所以,有什么可能的方法可以做到这一点吗?有一个基本标记,它支持angular,以确保javascript模板中的每个URL,$http,。。。将相对于那个。所以你可以直接使用它:$location
其他途径包括:
$rootScope,如您所述
事件,所有控制器都要求该值可以侦听特定事件以获取新值。
服务$watch为value或再次使用事件
如果它没有改变,并且您可以知道引导时的值,那么您可以使用angular.constant来定义,然后注入一个常量balue。不过,这一条似乎不适合你。
有一个基本标记支持angular,以确保javascript模板中的每个URL,$http,。。。将相对于那个。所以你可以直接使用它:$location
其他途径包括:
$rootScope,如您所述
事件,所有控制器都要求该值可以侦听特定事件以获取新值。
服务$watch为value或再次使用事件
如果它没有改变,并且您可以知道引导时的值,那么您可以使用angular.constant来定义,然后注入一个常量balue。不过,这一条似乎不适合你。
可能的解决办法:
如果它是一个常数而不是一个变量,你需要传递给所有的控制器,例如,它是一个永远不会改变的URL,你可以使用角度常数法
例如:
app.constant('BASE_URL','http://localhost/myapp/');
然后在每个控制器中注入:
app.controller('Ctrl', ['$scope','BASE_URL' , function ($scope, BASE_URL){
$scope.base_url = BASE_URL;
}])
备选方案:
服务
$rootScope
可能的解决办法:
如果它是一个常数而不是一个变量,你需要传递给所有的控制器,例如,它是一个永远不会改变的URL,你可以使用角度常数法
例如:
app.constant('BASE_URL','http://localhost/myapp/');
然后在每个控制器中注入:
app.controller('Ctrl', ['$scope','BASE_URL' , function ($scope, BASE_URL){
$scope.base_url = BASE_URL;
}])
备选方案:
服务
$rootScope
控制器输入的另一种选择是ng init指令。
控制器输入的另一种选择是ng init指令。