javascript - ng-binding,在 html 中调用时 $scope 变量为空

标签 javascript html angularjs

绑定(bind)到 html 时变量为空

HTML 代码:

<html lang="en" ng-app="roomInfo">
...

<div id="modal" ng-controller="roomListCtrl" class="modal fade">
      <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-header">{{ room[0].name }}

JS代码:

 var roomInfo = angular.module('roomInfo', []);

roomInfo.controller('roomListCtrl', function ($scope, $http) {

    $http.get("/room-list-info/").then(function(response) {
        $scope.rooms = response.data;
    });

    $scope.getRoom = function (id) {
        var url = "/room-info/"+ id +"/";
        console.log(id);
        $http.get(url).then(function(response) {
            $scope.room = response.data;
            console.log($scope.room[0].name + "hola");
        });
    };


});

console.log() 显示了我想要的信息,但由于某种原因它没有转到 html 此外, rooms[0].name 有效,而 room[0].name 无效

最佳答案

看起来您在 Angular 上下文之外调用了 $scope.getRoom。您要么需要使用 Angular 绑定(bind)(例如 ng-click),要么手动执行 $scope.$apply。

关于javascript - ng-binding,在 html 中调用时 $scope 变量为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35786120/

相关文章:

javascript - 在页脚 WordPress 中滑动照片

javascript - 如何使用ajax根据两个下拉列表的值从数据库检索数据?

html - HTML 中两个面板布局的容器高度

javascript - 无法检索最近的元素

javascript - jQuery 悬停功能不适用于 ng-repeat Angular 对象

javascript - 通过变量中的键名获取javascript对象属性

javascript - 使用 Promise.all 在其他函数之后执行一个函数

javascript - 单击按钮后克隆整个表单元素

javascript - 如何使用angularjs根据特定值拼接数组

javascript - 替换 Cloudinary 上的图像