当前位置: 首页 > 面试题库 >

Angular.js:.value()是设置应用程序范围常量的正确方法以及如何在控制器中检索它的正确方法

唐阳飙
2023-03-14
问题内容

嗨,我在那里观看了几个angular.js视频,并看到value()方法用于设置一种模块范围的常量。例如,可以这样设置Angular-
UI库的配置:(咖啡脚本)

angular.module('app',[])
.value "ui.config", 
  tinymce:
    theme: 'simple'
    width: '500'
    height: '300'

我的应用目前看起来像这样:

window.app = angular.module("app", [ 'ui'])

.config(["$routeProvider", ($routeProvider) ->
  $routeProvider
  .when "/users",
    templateUrl: "assets/templates/users/index.html"
    controller: IndexUsersCtrl

  .otherwise redirectTo: "/users"

])

.value 'csrf', $('meta[name="csrf-token"]').attr('content') #<---- attention here

IndexUsersCtrl = ($scope) ->
  $scope.users = gon.rabl
  console.log "I want to log the csrf value here" #<---- then attention
IndexUsersCtrl.$inject = ['$scope']

但是我似乎无法通过点击与app模块相对应的’app’变量来获取该值。

我在ST和angularjs的google组上都读到过,一种共享通用代码btwn控制器的方式是通过服务,这种概念在这里也适用吗?

谢谢!


问题答案:

Module.value(key, value)用于注入可编辑的值, Module.constant(key, value)用于注入常量

两者之间的区别不在于您“无法编辑常量”,而在于您无法使用$ provide截取常量并注入其他内容。

// define a value
app.value('myThing', 'weee');

// define a constant
app.constant('myConst', 'blah');

// use it in a service
app.factory('myService', ['myThing', 'myConst', function(myThing, myConst){
   return {
       whatsMyThing: function() { 
          return myThing; //weee
       },
       getMyConst: function () {
          return myConst; //blah
       }
   };
}]);

// use it in a controller
app.controller('someController', ['$scope', 'myThing', 'myConst', 
    function($scope, myThing, myConst) {
        $scope.foo = myThing; //weee
        $scope.bar = myConst; //blah
    });


 类似资料:
  • null 现在的问题是: > 作为控制器方法执行的结果,我将返回对象的映射,该映射将解析为JSON。可能的实体是: {“结果”:“12”} 我应该如何提供基于结果的附加消息?我能想到两个解决办法: > 返回映射,该映射在肯定验证结果的情况下具有result=true,在否定验证结果的情况下具有result=false,以及带有相应消息的errorCode 返回指示验证结果的布尔值,并另外对否定结果

  • 问题内容: 我有基于Cordova和Ionic的移动应用程序。在应用程序启动后加载的默认页面上,需要使用SQLLite插件。 https://github.com/brodysoft/Cordova- SQLitePlugin 问题是视图包含 哪个调用了与SQL Lite插件一起使用的控制器方法。并且由于该方法在未初始化deviceready事件之前调用该方法(只能在deviceready事件之后

  • 本文向大家介绍AngularJS控制器controller正确的通信的方法,包括了AngularJS控制器controller正确的通信的方法的使用技巧和注意事项,需要的朋友参考一下 AngularJS是一款非常强大的前端MVC框架,AngularJS中的controller是个函数,用来向视图的作用域($scope)添加额外的功能,我们用它来给作用域对象设置初始状态,并添加自定义行为。 当我们在

  • 对于,使用C 11基于范围的的正确方法是什么? 应该使用什么语法<代码>用于(自动元素:容器),或

  • 问题内容: 我的代码如下: 如果在获取之前设置标题,可以吗?我的标头会被发送,还是服务器会看到默认的用户代理(如果有)? 问题答案: 必须 先设置标头,然后才能产生任何影响- 如果连接已经打开,则将引发。 就头而言,如果已设置,则应将其发送。 请参阅URLConnection JavaDoc。

  • 问题内容: 我知道有太多的 $ _SERVER 变量标头可用于IP地址检索。我想知道是否就使用上述变量最准确地检索用户的真实IP地址(众所周知没有一种方法是完美的)是否达成共识? 我花了一些时间试图找到一个深入的解决方案,并根据许多资源提出了以下代码。如果有人可以在答案中戳出一个洞或阐明一些可能更准确的内容,我将非常喜欢。 编辑包括来自@Alix的优化 警告语(更新) 仍然代表IP地址的 最可靠