【发布时间】:2017-09-18 02:37:30
【问题描述】:
我是 angular/jade 的新手,我不明白为什么我的控制器在我的视图中不起作用,我不能使用我在控制器中设置的变量。
这是控制器代码:
angular.module 'app'
.controller "DirectoryGridCtrl", ($scope, Refs) ->
################################################################################
# actions #
################################################################################
################################################################################
# onLoad #
################################################################################
$scope.test = "Test"
################################################################################
# constructor grid #
################################################################################
@grid = new Grid(resource: Directory, ctrlName: 'directoryGrid')
################################################################################
# return #
################################################################################
return
我尝试过使用 vm.test、test、scope.test、$scope.test 等。
路线如下:
angular.module 'app'
.config ($stateProvider) ->
$stateProvider
.state 'app.directory.grid',
url: ''
templateUrl: 'app/modules/directory/grid/directory-grid.html'
controller: "DirectoryGridCtrl as vm"
这是我尝试使用它的地方,但它从未被打印出来:
{{::vm.test}}
{{::refs.userList}}
我应该创建其他文件吗?还是我做错了什么?
谢谢,
尼古拉斯
【问题讨论】:
-
没有控制台错误?在标记中,插值绑定是否在您的
DirectoryGridCtrl范围内? -
没有 cosole 错误!我真的不明白你的第二个问题是什么意思,但是在这个问题之前使用的所有控制器都可以正常工作
-
您的控制器需要附加到 DOM,并且您的绑定应该在控制器的范围内。比如:
<div ng-controller="DirectoryGridCtrl"> {{ yourBinding }} </div> -
我用的是 Jade,不是 html 是不是一样的方法?
-
原理是一样的,当然你应该使用Jade语法。重点是绑定需要嵌套在附加控制器的元素中,以便这些值在范围内。
标签: angularjs web view controller pug