绑定在Angular中不起作用

时间:2014-01-15 06:09:31

标签: javascript angularjs

这里有什么问题?

JSFiddle

function SecondCtrl($scope, Data) {
  $scope.data = Data;

  $scope.reversedMessage = function(message) {
    return message.split("").reverse().join("");
  };
}

2 个答案:

答案 0 :(得分:2)

正如阿伦在评论中提到的,你在这里错过了几个关键要素:

  1. 您没有引导您的应用。您需要使用the ng-app directiveangular.bootstrap

  2. 由于您将SecondCtrl定义为全局函数(这不是最佳实践),因此您需要设置JSFiddle以在onLoad之前加载JavaScript;我使用No wrap - in <head>

    screenshot

  3. 您正在向控制器中注入Data,但尚未将Data定义为服务。您需要create a service来获取此信息。

  4. 这是一个JSFiddle,它演示了如果您遵循最佳实践并为控制器创建模块以及解决其他问题之外的事情:http://jsfiddle.net/BinaryMuse/TcPGT/

    <div ng-app='myApp'>
      <div ng-controller="SecondCtrl">
        <input type="text" ng-model="data.message">
        <h1>{{ reversedMessage(data.message) }}</h1>
      </div>
    </div>
    
    var app = angular.module('myApp', []);
    
    app.value('Data', {
      message: 'This is my message.'
    });
    
    app.controller('SecondCtrl', function($scope, Data) {
      $scope.data = Data;
    
      $scope.reversedMessage = function(message) {
        return message.split("").reverse().join("");
      };
    });
    

答案 1 :(得分:0)

我认为你的代码是不完整的..我在这里附上一个完整的代码。通过它,我希望这是你想要的。

访问:http://plnkr.co/edit/HxScwWRT9nnaA5CILE6f?p=preview