如何在angularJS中将范围属性显示为文本输入

时间:2019-02-03 12:58:18

标签: angularjs angularjs-scope

我是AngularJS的新手,无法完成简单的任务。我希望你能帮助我。 我的目标是在加载时将$ scope属性“ server”从控制器显示为视图中输入的文本:

我的控制器:

(function () {

  'use strict';

  angular
    .module('app')
    .controller('HomeController', homeController);

  homeController.$inject = ['authService', 'httpService'];

  function homeController(authService, $scope) {

    var vm = this;
    vm.auth = authService;
    $scope.server = SERVER_HOST_NAME;
    console.log ($scope.server);
  }
})();

var SERVER_HOST_NAME =“ anysite.com”;是全球性的。

我想要在视图中输入的文本显示要加载的文本。

我的观点是

<h4 ng-if="vm.auth.isAuthenticated()">
    You are logged in!
</h4>
<h4 ng-if="!vm.auth.isAuthenticated()">
  You are not logged in! Please <a ng-click="vm.auth.login()">Log In</a> to continue.
</h4>

<div class="container">
  <label>Team city server:</label>

  <input ng-model="server" type="text" />
    <button ng-click="getBuilds()">Extract</button>
</div>

我使用ng-model将我的属性绑定到textinput,但是不知道为什么它不起作用。我想这很简单。谢谢。

1 个答案:

答案 0 :(得分:1)

为什么要混用$ scope和vm?如下使用vm和controller作为HTML的语法,

const obj1 = {...};
const obj2 = {...};

JSON.stringify(obj1) === JSON.stringify(obj2);

HTML将是

 vm.server = SERVER_HOST_NAME;