2017-01-07 4 views
-2

Я нашел в контроллере, мы используем $ scope, вот ссылка (http://www.w3schools.com/angular/tryit.asp?filename=try_ng_controller). Я изменяю $ scope на это, он не может работать.

<script> 
var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 
    $scope.firstName = "John"; 
    $scope.lastName = "Doe"; 
}); 
</script> 

Однако, я нашел в службе, мы используем это, вот ссылка (http://www.w3schools.com/angular/tryit.asp?filename=try_ng_services_custom). В службе hexafy я меняю это на $ scope, он не может работать.

<script> 
var app = angular.module('myApp', []); 

app.service('hexafy', function() { 
    this.myFunc = function (x) { 
     return x.toString(16); 
    } 
}); 
app.controller('myCtrl', function($scope, hexafy) { 
    $scope.hex = hexafy.myFunc(255); 
}); 
</script> 

Правильно ли указано мое резюме? Если нет, то должно быть правильное резюме, учитывая все возможные варианты.

+0

проверить это http://stackoverflow.com/questions/11605917/this-vs-scope-in-angularjs-controllers –

ответ

0

это вместо $ scope в контроллере. Они привели в контроллер как синтаксис (от Angular 1.2). Вы можете прикреплять данные к этим (Здесь контроллер хранит данные). Но внутренне он будет привязан к $ scope только, но вам не нужно прикладывать его вручную. Он должен быть объявлен в html, как это, контроллер объявлен как main, поэтому мы должны ссылаться на данные в html, используя main.

<div ng-controller="MainCtrl as main"> 
    {{ main.title }} 
</div> 

app.controller('MainCtrl', function ($scope) { 
    this.title = 'Some title'; 
    console.log("Title" + $scope.main.title); // It will print some title in the console. 
}); 
+0

Спасибо. Я получил. Однако мы можем использовать $ scope вместо этого в Service? – AngularJS

+0

Да, вы можете использовать его –

+0

Спасибо. Я пробовал, он работает. Для Serice и Controller, который вы предлагаете, это или $ scope? – AngularJS

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