我可以使用哪种技术在表单字段中加载对象的值,然后更新该值,使其可用于我的$ scope变量

时间:2015-04-20 10:23:49

标签: javascript html angularjs

我正在构建一个可以创建,更新和删除笔记的应用程序。我想知道我可以使用哪种技术在表单字段中加载我想要的值,并仍然使其可用于控制器中的$scope变量。看起来我不能同时进行这两件事(要么将表单设置为空,然后使用ng-model="title" ie,或者我可以使用value="{{note.title}}"加载值,但是我无法从中获取值控制器中可用的字段然后更新我的笔记。

我相信这是一个非常简单的解决方案,但我在其他来源找不到答案。

的index.html

 <script type="text/ng-template" controller="notesCtrl" id="/notes.html">
  <div class="container">
    <div class="row">
      <div class="col-lg-9" style="position: relative">
        <form ng-submit="updateNote()" >
          <div class="row">.</div>
          <div class="row">
            <input type="text"   class="form-control" value="{{note.title}}" >
            <div class="row">.</div>
            <input type="text" class ="form-control" value="{{note.body}}"    style="width: 100%; height: 300px">
            <div class="row">.</div>
          </div>
          <button type="submit">Save Note</button>
        </form>
      </div>
    </div>
  </div>
</script>

和我的控制器在 app.js

   .controller('notesCtrl', [
    '$scope', 
    'notesFactory', 
    'note', 
    '$stateParams', function(
        $scope, 
        notesFactory, 
        note, 
        $stateParams) {
        $scope.note = note;

        $scope.updateNote = function() {
        notesFactory.update(
            $stateParams.id,
            {
                title: $scope.title,
                body: $scope.body
            })
        }
 }])

1 个答案:

答案 0 :(得分:1)

尝试这种方式: HTML:

<input type="text" class="form-control" ng-model="title">

脚本:

.controller('notesCtrl', [
    '$scope', 
    'notesFactory', 
    'note', 
    '$stateParams', function(
        $scope, 
        notesFactory, 
        note, 
        $stateParams) {
        $scope.note = note;

        $scope.title = 'titleValue' //YOUR VALUE GOES HERE

        $scope.updateNote = function() {
        notesFactory.update(
            $stateParams.id,
            {
                title: $scope.title,
                body: $scope.body
            })
        }
 }])