gpt4 book ai didi

javascript - 使用此关键字在自定义指令中绑定(bind)模型

转载 作者:太空宇宙 更新时间:2023-11-04 15:29:50 25 4
gpt4 key购买 nike

学生.html

<div class="row">
<student info="ui.Ram"></student>
</div>


学生指令模板

<h1>{{ui.name}}</h1>

路由配置

app.config(urlRouter);

function urlRouter($routeProvider, $locationProvider) {

$routeProvider
.when('/students', {
templateUrl: 'app/views/students.html',
controller: 'prodCtrl',
controllerAs: 'ui'
})
}


自定义指令

     app.directive('student', "student");

function student() {
var directive = {};
directive.restrict = 'E';
directive.templateUrl = "Student.directive.html";
directive.scope = {
ui : "=name"
}
return directive;
});

Controller

     app.controller('StudentController', StudentController);

function StudentController($scope) {

$scope.Ram= {};
$scope.Ram.name = "Mahesh";

};

当我这样做时,名称(“Mahesh”)会反射(reflect)在 UI 中。

我正在考虑做同样的事情而不在 Controller 中注入(inject) $scope 。像这样的东西。

      function StudentController() {
var vm = this;
vm.Ram= {};
vm.Ram.name = "Mahesh";

return vm;
};

但是该值没有反射(reflect)出来。

最佳答案

您需要在 View 中使用controller as 语法来执行此操作:

  <div ng-app = "app" ng-controller = "StudentController as ctrl">
<student name = "ctrl.Ram"></student>
</div>

关于javascript - 使用此关键字在自定义指令中绑定(bind)模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44890998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com