2013-08-08 2 views
1

У меня есть тестовое AngularJS страницы с «Обновить» ссылка, которая вызывает функцию, которая, в свою очередь, обновляет модель «Customer.Name»нг-клик не обновляет модель

Однако «Обновить» клик по-прежнему не изменяет {{customer.name}} в представлении, и я не понимаю, почему.

Приведено содержание приложения.

index.html

<!doctype html> 
    <head> 
    <title>Test</title> 
</head> 
    <body ng-app="roaMobileNgApp"> 


    <script src="scripts/angular.js"></script> 

    <script src="scripts/angular-ui.js"></script> 
    <link rel="stylesheet" href="scripts/angular-ui.css"> 

    <div class="container" ng-view=""></div> 

    <script src="scripts/app.js"></script> 
    <script src="scripts/controllers/main.js"></script> 


</body> 
</html> 

app.js

'use strict'; 

angular.module('roaMobileNgApp', ['ui']) 
    .config(function ($routeProvider) { 
    $routeProvider 
     .when('/', { 
     templateUrl: 'views/main.html', 
     controller: 'MainCtrl' 
     }) 
     .otherwise({ 
     redirectTo: '/' 
     }); 
    }); 

main.js

'use strict'; 

angular.module('roaMobileNgApp') 
    .controller('MainCtrl', function ($scope) { 


    $scope.customer = {name: '', 
         id: 0}; 



    $scope.getDetails = function() { 
     $scope.customer.name = 'Test'; 
    }; 

    }); 

main.html

<a href="#" ng-click="getDetails()">Refresh</a> 
    <p><input type="text" ng-model="customer.name"> {{ customer.name }} </p> 

</div> 
+0

Используйте кнопку, вы обновите страницу. Либо это, либо измените ваш href на объект javascript void. –

ответ

4

Это, вероятно, потому, что вы меняете адрес, нажав:

<a href="#" ng-click="getDetails()">Refresh</a> 

Это заставляет угловатую пересборку HTML, а также контроллер.

Изменить его, как показано ниже:

<a href="javascript:void(0)" ng-click="getDetails()">Refresh</a> 
+2

Или лучше, оставьте атрибут 'href' пустым: http://stackoverflow.com/questions/18080715/angularjs-href-causes-location-address-to-change-can-we-avoid/18081454#18081454 – Blackhole

+0

Thank вы все. Он работал с href = "", href = "javascript: void (0)" и с помощью кнопки. –

Смежные вопросы