设置输入以更新范围变量似乎不起作用

时间:2016-10-04 01:08:29

标签: javascript angularjs angularjs-scope

我有一个控制器:

.controller("myController", function($scope){
  $scope.name = "Test";
  $scope.desc = "Hello World!";

  $scope.create = function(){
    var test = {name: $scope.name, desc: $scope.desc}
    console.log(test);
  }
}

和模板:

<label class="item item-input item-stacked-label">
    <span class="input-label">{{primaryName}}</span>
    <input type="text" placeholder="{{sampleName}} Name" value="{{name}}">
</label>
<label class="item item-input item-stacked-label">
    <span class="input-label">{{primaryName}}</span>
    <input type="text" placeholder="{{sampleName}} Name" value="{{desc}}">
</label>
<a ng-click="create()">Create Test</a>

似乎在运行时,输入设置为 Test 所以我将其更改为我想要的。 Alpha ,然后点击“创建”。它将console.log输出 Test

我不知道我的作业是否正确。我以为我是,但似乎不然。

我做错了什么?

编辑我还尝试让create函数接受变量,然后使用示例传递它们:Test / HelloWorld文本字符串。

1 个答案:

答案 0 :(得分:1)

<div ng-app="myApp" ng-controller="myCtrl">
<label class="item item-input item-stacked-label">
    <span class="input-label">{{primaryName}}</span>
    <input type="text" placeholder="{{sampleName}} Name" ng-model="name" >
</label>
<label class="item item-input item-stacked-label">
    <span class="input-label">{{primaryName}}</span>
    <input type="text" placeholder="{{sampleName}} Name" ng-model="desc" >
</label>
<a ng-click="create()">Create Test</a>

</div>

您没有使用ng-model,这就是为什么(y)