Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不使用Angular js更新视图中的Javascript对象_Javascript_Angularjs_Object - Fatal编程技术网

不使用Angular js更新视图中的Javascript对象

不使用Angular js更新视图中的Javascript对象,javascript,angularjs,object,Javascript,Angularjs,Object,在过去的几天里,我一直在和angularjs打交道,现在我已经开始和javascript对象打交道了,我遇到了麻烦 我试图在视图中表示对象的属性,然后在页面加载后更改该对象并更改视图。即 Html 我不知道我是否遗漏了什么,或者只是对框架的结构有一个基本的误解。无论采用哪种方式,都会得到一些帮助:)我当前的代码位于: 它用于在按下键时更新对象您正在angularjs上下文之外更改范围变量。由于要对jquery事件进行更改,因此在更改指令中的scope变量时需要调用scope.$apply。查看

在过去的几天里,我一直在和angularjs打交道,现在我已经开始和javascript对象打交道了,我遇到了麻烦

我试图在视图中表示对象的属性,然后在页面加载后更改该对象并更改视图。即

Html

我不知道我是否遗漏了什么,或者只是对框架的结构有一个基本的误解。无论采用哪种方式,都会得到一些帮助:)我当前的代码位于:


它用于在按下键时更新对象

您正在angularjs上下文之外更改范围变量。由于要对jquery事件进行更改,因此在更改指令中的scope变量时需要调用scope.$apply。查看我更新的plunker

以下是相关代码:

jQuery(document).on('keydown', function(e){

        scope.$apply(function(){
          scope.new_object();  
        });

     });
app.controller('MainCtrl', ['$scope', function($scope) {    
  $scope.message_object = new object("A");

  $scope.replace_message = function(){ //Happens sometime after page load
    alert("Replacing...");
    $scope.object = new object("B");
  }

}]);

function object(attribute){
    this.attribute = attribute;
}
jQuery(document).on('keydown', function(e){

        scope.$apply(function(){
          scope.new_object();  
        });

     });